Thanks for your answer. I use the RPI with a switch and AP's indeed with VLAN for IPTV. All is working nicely!
Herby the files and tests you asked for!
{
"kernel": "5.15.162",
"hostname": "OpenWrt",
"system": "ARMv8 Processor rev 3",
"model": "Raspberry Pi 4 Model B Rev 1.4",
"board_name": "raspberrypi,4-model-b",
"rootfs_type": "ext4",
"release": {
"distribution": "OpenWrt",
"version": "23.05.4",
"revision": "r24012-d8dd03c46f",
"target": "bcm27xx/bcm2711",
"description": "OpenWrt 23.05.4 r24012-d8dd03c46f"
}
}
config interface 'loopback'
option device 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fd01:0286:9fd4::/48'
option packet_steering '1'
config device
option name 'br-lan'
option type 'bridge'
list ports 'eth0'
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '60'
config device
option name 'eth1'
option mtu '1508'
config device
option type '8021q'
option ifname 'eth1'
option vid '6'
option name 'eth1.6'
config interface 'wan'
option proto 'pppoe'
option device 'eth1.6'
option username 'internet'
option password 'internet'
option ipv6 '1'
option mtu '1500'
option peerdns '0'
option metric '1'
list dns '1.1.1.1'
option dns_metric '50'
config interface 'wan6'
option proto 'dhcpv6'
option device 'pppoe-wan'
option reqaddress 'try'
option reqprefix 'auto'
option peerdns '0'
option metric '0'
list dns '2606:4700:4700::1111'
option dns_metric '55'
config device
option type '8021q'
option ifname 'eth1'
option vid '4'
option name 'eth1.4'
config interface 'iptv'
option proto 'dhcp'
option device 'eth1.4'
option force_link '1'
option delegate '0'
option vendorid 'IPTV_RG'
option peerdns '0'
option defaultroute '0'
config device
option type 'bridge'
option name 'br-iptv'
option igmp_snooping '1'
option bridge_empty '1'
option stp '1'
option ipv6 '0'
list ports 'eth0.4'
config interface 'iptv_lan'
option proto 'static'
option device 'br-iptv'
option ipaddr '192.168.4.1'
option netmask '255.255.255.0'
option delegate '0'
config device
option type '8021q'
option ifname 'eth0'
option vid '4'
option name 'eth0.4'
list egress_qos_mapping '0:5'
list egress_qos_mapping '1:5'
list egress_qos_mapping '2:5'
list egress_qos_mapping '3:5'
list egress_qos_mapping '4:5'
config wifi-device 'radio0'
option type 'mac80211'
option path 'platform/soc/fe300000.mmcnr/mmc_host/mmc1/mmc1:0001/mmc01:1'
option channel '36'
option band '5g'
option htmode 'VHT80'
option disabled '1'
config dnsmasq
option domainneeded '1'
option localise_queries '1'
option rebind_protection '1'
option rebind_localhost '1'
option local '/lan.local/'
option domain 'lan.local'
option expandhosts '1'
option cachesize '1000'
option authoritative '1'
option readethers '1'
option leasefile '/tmp/dhcp.leases.lan'
option localservice '1'
option ednspacket_max '1232'
list server '0::1#5453'
list server '127.0.0.1#5453'
option noresolv '1'
option strictorder '1'
list notinterface 'iptv_lan'
config dhcp 'lan'
option interface 'lan'
option start '100'
option limit '150'
option leasetime '12h'
option dhcpv4 'server'
option dhcpv6 'server'
option ra 'server'
list ra_flags 'managed-config'
list ra_flags 'other-config'
config odhcpd 'odhcpd'
option maindhcp '0'
option leasefile '/tmp/hosts/odhcpd'
option leasetrigger '/usr/sbin/odhcpd-update'
option loglevel '4'
config dhcp 'iptv_lan'
option interface 'iptv_lan'
option start '100'
option limit '150'
option leasetime '12h'
config dnsmasq 'IPTV'
option domainneeded '1'
option authoritative '1'
option local '/iptv.local/'
option domain 'iptv.local'
list server '195.121.1.34'
list server '195.121.1.66'
option rebind_protection '1'
option rebind_localhost '1'
option localservice '1'
list notinterface 'loopback'
option readethers '1'
option leasefile '/tmp/dhcp.leases.iptv'
option noresolv '1'
option strictorder '1'
option localise_queries '1'
option ednspacket_max '1232'
option cachesize '1000'
list interface 'iptv_lan'
config host
option name 'IPCAM'
option ip '192.168.1.60'
option mac 'A0:9D:C1:25:6C:A9'
config defaults
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option synflood_protect '1'
config zone
option name 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
list network 'lan'
config zone
option name 'wan'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
option mtu_fix '1'
list network 'wan'
list network 'wan6'
config forwarding
option src 'lan'
option dest 'wan'
config rule
option name 'Allow-DHCP-Renew'
option src 'wan'
option proto 'udp'
option dest_port '68'
option target 'ACCEPT'
option family 'ipv4'
config rule
option name 'Allow-Ping'
option src 'wan'
option proto 'icmp'
option icmp_type 'echo-request'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-IGMP'
option src 'wan'
option proto 'igmp'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-DHCPv6'
option src 'wan'
option proto 'udp'
option dest_port '546'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-MLD'
option src 'wan'
option proto 'icmp'
option src_ip 'fe80::/10'
list icmp_type '130/0'
list icmp_type '131/0'
list icmp_type '132/0'
list icmp_type '143/0'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Input'
option src 'wan'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
list icmp_type 'router-solicitation'
list icmp_type 'neighbour-solicitation'
list icmp_type 'router-advertisement'
list icmp_type 'neighbour-advertisement'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Forward'
option src 'wan'
option dest '*'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-IPSec-ESP'
option src 'wan'
option dest 'lan'
option proto 'esp'
option target 'ACCEPT'
config rule
option name 'Allow-ISAKMP'
option src 'wan'
option dest 'lan'
option dest_port '500'
option proto 'udp'
option target 'ACCEPT'
config zone
option name 'iptv'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
option mtu_fix '1'
list network 'iptv'
config forwarding
option src 'iptv_lan'
option dest 'iptv'
config rule
option name 'Allow-IPTV-To-Lan'
option src 'iptv_lan'
option dest 'iptv'
option target 'ACCEPT'
config rule
option name 'Allow-IGMP-Proxy'
option family 'ipv4'
list proto 'udp'
option src 'iptv'
option dest 'iptv_lan'
option target 'ACCEPT'
list dest_ip '224.0.0.0/4'
config zone
option name 'iptv_lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'REJECT'
list network 'iptv_lan'
config forwarding
option src 'iptv_lan'
option dest 'wan'
config redirect
option dest 'lan'
option target 'DNAT'
option name 'IPCAM'
option family 'ipv4'
list proto 'tcp'
option src 'wan'
option src_dport '554'
option dest_ip '192.168.1.60'
option dest_port '554'
config queue 'eth1'
option enabled '0'
option interface 'eth1'
option download '837000'
option upload '837000'
option qdisc 'cake'
option script 'piece_of_cake.qos'
option linklayer 'ethernet'
option debug_logging '0'
option verbosity '5'
option overhead '44'
qdisc noqueue 0: dev lo root refcnt 2
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc mq 0: dev eth0 root
Sent 4067528260 bytes 3448815 pkt (dropped 832, overlimits 0 requeues 764901)
backlog 0b 0p requeues 764901
qdisc fq_codel 0: dev eth0 parent :5 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 1255569179 bytes 889297 pkt (dropped 818, overlimits 0 requeues 409086)
backlog 0b 0p requeues 409086
maxpacket 1514 drop_overlimit 0 new_flow_count 27837 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth0 parent :4 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 1000317019 bytes 952210 pkt (dropped 0, overlimits 0 requeues 176084)
backlog 0b 0p requeues 176084
maxpacket 3150 drop_overlimit 0 new_flow_count 62968 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth0 parent :3 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 665594607 bytes 632933 pkt (dropped 1, overlimits 0 requeues 87851)
backlog 0b 0p requeues 87851
maxpacket 1434 drop_overlimit 0 new_flow_count 40421 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth0 parent :2 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 923705425 bytes 817489 pkt (dropped 0, overlimits 0 requeues 91116)
backlog 0b 0p requeues 91116
maxpacket 1434 drop_overlimit 0 new_flow_count 58312 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth0 parent :1 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 222342030 bytes 156886 pkt (dropped 13, overlimits 0 requeues 764)
backlog 0b 0p requeues 764
maxpacket 1514 drop_overlimit 0 new_flow_count 908 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 root refcnt 2 limit 10240p flows 1024 quantum 1522 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 3014616501 bytes 3086224 pkt (dropped 1376, overlimits 0 requeues 6820)
backlog 0b 0p requeues 6820
maxpacket 1442 drop_overlimit 1344 new_flow_count 22471 ecn_mark 0 drop_overmemory 1344
new_flows_len 0 old_flows_len 0
qdisc noqueue 0: dev br-iptv root refcnt 2
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc noqueue 0: dev br-lan root refcnt 2
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc noqueue 0: dev eth0.4 root refcnt 2
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc noqueue 0: dev eth1.4 root refcnt 2
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc noqueue 0: dev eth1.6 root refcnt 2
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc fq_codel 0: dev pppoe-wan root refcnt 2 limit 10240p flows 1024 quantum 1522 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 2948545251 bytes 3087110 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 53960 drop_overlimit 0 new_flow_count 277746 ecn_mark 0
new_flows_len 0 old_flows_len 0
It's quite a big and advanced config!
Unfortunately I can't run a bufferbloat test at the moment because it keeps haning on "warming up"... will try that later!
Edit: Bufferbloat test results:
https://www.waveform.com/tools/bufferbloat?test-id=84424020-e320-4b94-9939-3125b14c0cae
speedtest: