Is this IPTV VLAN IGMP snooping configured correctly?

I have 2 rj45 ports on isp router, one is lan and another is iptv network. My idea was to get LAN into WAN port of openwrt device, get iptv in LAN1, and send them both out of LAN2, LAN3 and LAN4 tagged with vlans and have another openwrt device at other end to untag them. (yeah its pointless since 100BASE-T goes over 2 pairs, 1 cable could carry them both but I want to learn how this all works and how to configure it without hardware rewiring, my plan is to upgrade all this to gigabit or 10gig fiber in future linking 3 houses with one upstream gateway)

Hardware is TL-WR740N v4 and v5 with OpenWrt 19.07.10 r11427-9ce6aa9d8d / LuCI openwrt-19.07 branch git-22.115.68448-712bc8e

Configured as dumb ap

List of packages:

base-files - 204.4-r11427-9ce6aa9d8d
busybox - 1.30.1-6
cgi-io - 2021-09-08-98cef9dd-20
dnsmasq - 2.80-16.3
dropbear - 2019.78-2
firewall - 2019-11-22-8174814a-3
fstools - 2020-05-12-84269037-1
fwtool - 2
getrandom - 2019-06-16-4df34a4d-4
hostapd-common - 2019-08-08-ca8c2bd2-8
iptables - 1.8.3-1
iw - 5.0.1-1
iwinfo - 2019-10-16-07315b6f-1
jshn - 2020-05-25-66195aee-1
jsonfilter - 2018-02-04-c7e938d6-1
kernel - 4.14.275-1-4ef8e0e6aa9131bd383750a46edb4287
kmod-ath - 4.14.275+4.19.237-1-1
kmod-ath9k - 4.14.275+4.19.237-1-1
kmod-ath9k-common - 4.14.275+4.19.237-1-1
kmod-cfg80211 - 4.14.275+4.19.237-1-1
kmod-gpio-button-hotplug - 4.14.275-3
kmod-ipt-conntrack - 4.14.275-1
kmod-ipt-core - 4.14.275-1
kmod-ipt-nat - 4.14.275-1
kmod-ipt-offload - 4.14.275-1
kmod-lib-crc-ccitt - 4.14.275-1
kmod-mac80211 - 4.14.275+4.19.237-1-1
kmod-nf-conntrack - 4.14.275-1
kmod-nf-conntrack6 - 4.14.275-1
kmod-nf-flow - 4.14.275-1
kmod-nf-ipt - 4.14.275-1
kmod-nf-nat - 4.14.275-1
kmod-nf-reject - 4.14.275-1
kmod-slhc - 4.14.275-1
libblobmsg-json - 2020-05-25-66195aee-1
libc - 1.1.24-2
libgcc1 - 7.5.0-2
libip4tc2 - 1.8.3-1
libip6tc2 - 1.8.3-1
libiwinfo-lua - 2019-10-16-07315b6f-1
libiwinfo20181126 - 2019-10-16-07315b6f-1
libjson-c2 - 0.12.1-3.1
libjson-script - 2020-05-25-66195aee-1
liblua5.1.5 - 5.1.5-3
liblucihttp-lua - 2019-07-05-a34a17d5-1
liblucihttp0 - 2019-07-05-a34a17d5-1
libnl-tiny - 0.1-5
libpthread - 1.1.24-2
libubox20191228 - 2020-05-25-66195aee-1
libubus-lua - 2022-02-21-b32a0e17-1
libubus20210603 - 2022-02-21-b32a0e17-1
libuci20130104 - 2019-09-01-415f9e48-4
libuclient20160123 - 2020-06-17-51e16ebf-1
libxtables12 - 1.8.3-1
logd - 2019-06-16-4df34a4d-4
lua - 5.1.5-3
luci-app-firewall - git-22.115.68448-712bc8e-1
luci-app-opkg - git-22.115.68448-712bc8e-1
luci-base - git-22.115.68448-712bc8e-1
luci-lib-ip - git-22.115.68448-712bc8e-1
luci-lib-json - git-22.115.68448-712bc8e-1
luci-lib-jsonc - git-22.115.68448-712bc8e-1
luci-lib-nixio - git-22.115.68448-712bc8e-1
luci-mod-admin-full - git-22.115.68448-712bc8e-1
luci-mod-network - git-22.115.68448-712bc8e-1
luci-mod-rpc - git-22.115.68448-712bc8e-1
luci-mod-status - git-22.115.68448-712bc8e-1
luci-mod-system - git-22.115.68448-712bc8e-1
luci-theme-bootstrap - git-22.115.68448-712bc8e-1
mtd - 24
netifd - 2021-01-09-753c351b-1
openwrt-keyring - 2021-02-20-49283916-2
opkg - 2021-01-31-c5dccea9-1
procd - 2020-03-07-09b9bd82-1
rpcd - 2020-05-26-67c8a3fd-1
rpcd-mod-file - 2020-05-26-67c8a3fd-1
rpcd-mod-iwinfo - 2020-05-26-67c8a3fd-1
rpcd-mod-luci - 20201107
rpcd-mod-rrdns - 20170710
swconfig - 12
uboot-envtools - 2018.03-3.1
ubox - 2019-06-16-4df34a4d-4
ubus - 2022-02-21-b32a0e17-1
ubusd - 2022-02-21-b32a0e17-1
uci - 2019-09-01-415f9e48-4
uclient-fetch - 2020-06-17-51e16ebf-1
uhttpd - 2020-10-01-3abcc891-1
urandom-seed - 1.0-1
urngd - 2020-01-21-c7f7b6b6-1
usign - 2020-05-23-f1f65026-1
wireless-regdb - 2021.08.28-1
wpad-basic - 2019-08-08-ca8c2bd2-8

So I really need IGMP snooping because I do not want to flood all ports on iptv interface. What I have done is:

  • Created vlan for each port of router
  • Bridged eth1 (untagged wan port - lan from isp router) to lan interface, vlan100 tagged on eth0 lan2,lan3,lan4(vlan1, untagged trunk)
  • Bridged vlan300 (untagged lan1 - iptv network from isp) to iptv interface
  • Bridged vlan301 (untagged lan2 - to another openwrt together with vlan100)
  • Bridged vlan302 (untagged lan3 - to another openwrt together with vlan100)
  • Bridged vlan303 (untagged lan4 - to another openwrt together with vlan1 aka untagged trunk)

I could have VLAN300 bridged across lan1-lan4 without vlan301,302,303. I didn't do it because I think that IGMP snooping wont work then. Why I think it wont work? Because if I bridge it with switch config, all switching is done by switch itself, tagging and untagging. This way switching is done by CPU on iptv interface where all individual vlans are bridged and CPU could do IGMP snooping.

Am I doing this correctly or not? Will IGMP snooping work if I had everything under one VLAN300 on switch?

Current config is:


config interface 'lan'
	option type 'bridge'
	option proto 'static'
	option netmask '255.255.255.0'
	option ip6assign '60'
	option ipaddr '192.168.1.20'
	list dns '192.168.1.1'
	list dns '8.8.8.8'
	list dns '8.8.4.4'
	option gateway '192.168.1.1'
	option ifname 'eth0.100 eth1'

config switch
	option name 'switch0'
	option reset '1'
	option enable_vlan '1'

config switch_vlan
	option device 'switch0'
	option vlan '1'
	option vid '100'
	option ports '0t 3t 4t 1'

config switch_vlan
	option device 'switch0'
	option vlan '2'
	option vid '300'
	option ports '0t 2'

config switch_vlan
	option device 'switch0'
	option vlan '3'
	option vid '301'
	option ports '0t 3t'

config switch_vlan
	option device 'switch0'
	option vlan '4'
	option vid '302'
	option ports '0t 4t'

config switch_vlan
	option device 'switch0'
	option vlan '5'
	option vid '303'
	option ports '0t 1t'

config interface 'iptv'
	option proto 'none'
	option ifname 'eth0.300 eth0.301 eth0.302 eth0.303'
	option type 'bridge'
	option igmp_snooping '1'
	option force_link '1'