QoSmate: (Yet Another) Quality of Service Tool for OpenWrt

I changed it to wan interface.

how to turn it on for upload?

Just switch to eth1 like I told you...

1 Like

If you actually use pppoe I believe pppoe-wan would be the better choice over wan, or pick the underlying ethN interface as @Hudra recommends.

1 Like

I also have iptv on the same interface with a different vlan. But the upload limit is still not working.

Please show me the output of:

service qosmate status
service qosmate status
==== qosmate Status ====
qosmate service is enabled.
No qosmate traffic shaping is active on the egress interface (eth1).
Traffic shaping is not active on the ingress interface (ifb-eth1).
==== Overall Status ====
qosmate is not currently active or managing traffic shaping.
==== Current Settings ====
Upload rate: 15000 kbps
Download rate: 45000 kbps
Game traffic upload: 2650 (Default value) kbps
Game traffic download: 7150 (Default value) kbps
Queue discipline: CAKE (Root qdisc)
==== Package Status ====
All required packages are installed.

==== Detailed Technical Information ====
Traffic Control (tc) Queues:
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 52381770070 bytes 52076369 pkt (dropped 0, overlimits 0 requeues 17789)
 backlog 0b 0p requeues 17789
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 25702511631 bytes 25353631 pkt (dropped 0, overlimits 0 requeues 2889)
 backlog 0b 0p requeues 2889
  maxpacket 33308 drop_overlimit 0 new_flow_count 139485 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 13205367354 bytes 12701673 pkt (dropped 0, overlimits 0 requeues 5168)
 backlog 0b 0p requeues 5168
  maxpacket 48448 drop_overlimit 0 new_flow_count 25275 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 55162630 bytes 97791 pkt (dropped 0, overlimits 0 requeues 5783)
 backlog 0b 0p requeues 5783
  maxpacket 40102 drop_overlimit 0 new_flow_count 195 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 29225451 bytes 87672 pkt (dropped 0, overlimits 0 requeues 2659)
 backlog 0b 0p requeues 2659
  maxpacket 34822 drop_overlimit 0 new_flow_count 114 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 13389503004 bytes 13835602 pkt (dropped 0, overlimits 0 requeues 1290)
 backlog 0b 0p requeues 1290
  maxpacket 59046 drop_overlimit 0 new_flow_count 172 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 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 14842595047 bytes 36214628 pkt (dropped 3101, overlimits 0 requeues 11424)
 backlog 0b 0p requeues 11424
  maxpacket 1514 drop_overlimit 3045 new_flow_count 28333 ecn_mark 0 drop_overmemory 3045
  new_flows_len 0 old_flows_len 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 eth1.10 root refcnt 2
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc noqueue 0: dev eth1.20 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 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 7283107640 bytes 6865053 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 4476 drop_overlimit 0 new_flow_count 21053 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc cake 801d: dev ifb-wan root refcnt 2 bandwidth 45Mbit diffserv4 dual-dsthost nat wash ingress no-ack-filter split-gso rtt 100ms noatm overhead 22
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 0b of 4Mb
 capacity estimate: 45Mbit
 min/max network layer size:        65535 /       0
 min/max overhead-adjusted size:    65535 /       0
 average network hdr offset:            0

                   Bulk  Best Effort        Video        Voice
  thresh       2812Kbit       45Mbit    22500Kbit    11250Kbit
  target         6.46ms          5ms          5ms          5ms
  interval        101ms        100ms        100ms        100ms
  pk_delay          0us          0us          0us          0us
  av_delay          0us          0us          0us          0us
  sp_delay          0us          0us          0us          0us
  backlog            0b           0b           0b           0b
  pkts                0            0            0            0
  bytes               0            0            0            0
  way_inds            0            0            0            0
  way_miss            0            0            0            0
  way_cols            0            0            0            0
  drops               0            0            0            0
  marks               0            0            0            0
  ack_drop            0            0            0            0
  sp_flows            0            0            0            0
  bk_flows            0            0            0            0
  un_flows            0            0            0            0
  max_len             0            0            0            0
  quantum           300         1373          686          343


==== Nftables Ruleset (dscptag) ====
        chain dscptag {
                type filter hook forward priority filter; policy accept;
                ip protocol udp udp sport 51413 ip dscp set cs1 counter packets 54 bytes 7200
                ip6 nexthdr udp udp sport 51413 ip6 dscp set cs1 counter packets 0 bytes 0
                ip protocol udp udp dport 51413 ip dscp set cs1 counter packets 147 bytes 18270
                ip6 nexthdr udp udp dport 51413 ip6 dscp set cs1 counter packets 0 bytes 0
                ip protocol tcp tcp sport { 6881-6889, 51413 } ip dscp set cs1 counter packets 378343 bytes 17198444
                ip6 nexthdr tcp tcp sport { 6881-6889, 51413 } ip6 dscp set cs1 counter packets 0 bytes 0
                ip protocol tcp tcp dport { 6881-6889, 51413 } ip dscp set cs1 counter packets 965985 bytes 1447711155
                ip6 nexthdr tcp tcp dport { 6881-6889, 51413 } ip6 dscp set cs1 counter packets 0 bytes 0
                ip protocol tcp tcp flags & ack == ack meta length < 100 add @xfst4ack { ip daddr . ip saddr . tcp dport . tcp sport limit rate over 75000/second } counter packets 437 bytes 31023 jump drop995
                ip protocol tcp tcp flags & ack == ack meta length < 100 add @fast4ack { ip daddr . ip saddr . tcp dport . tcp sport limit rate over 7500/second } counter packets 3224 bytes 218835 jump drop95
                ip protocol tcp tcp flags & ack == ack meta length < 100 add @med4ack { ip daddr . ip saddr . tcp dport . tcp sport limit rate over 750/second } counter packets 30154 bytes 1305647 jump drop50
                ip protocol tcp tcp flags & ack == ack meta length < 100 add @slow4ack { ip daddr . ip saddr . tcp dport . tcp sport limit rate over 750/second } counter packets 15325 bytes 663388 jump drop50
                ip protocol tcp ct bytes < 2812500 ip dscp < cs4 ip dscp set cs0 counter packets 158856 bytes 141241628
                ip protocol tcp ct bytes > 56250000 ip dscp < cs4 ip dscp set cs1 counter packets 34284 bytes 38207166
                ip protocol tcp add @slowtcp4 { ip saddr . ip daddr . tcp sport . tcp dport limit rate 150/second burst 150 packets } ip dscp set af42 counter packets 255608 bytes 177234730
                ip6 nexthdr tcp add @slowtcp6 { ip6 saddr . ip6 daddr . tcp sport . tcp dport limit rate 150/second burst 150 packets } ip6 dscp set af42 counter packets 0 bytes 0
                meta priority set ip dscp map @priomap counter packets 2025165 bytes 1970480970
                meta priority set ip6 dscp map @priomap counter packets 0 bytes 0
                meta nfproto ipv4 ct mark set @nh,8,8 & 0xfc [invalid type] | 0x80 counter packets 2210278 bytes 2225196458
                meta nfproto ipv6 ct mark set @nh,0,16 & 0xfc0 [invalid type] | 0x80 counter packets 0 bytes 0
        }
}

==== Custom Rules Table Status ====
Custom rules table (qosmate_custom) is not active or doesn't exist.

Why are you using pppoe-wan now? Are you really using pppoe?

Please show us the output of:

ifstatus wan | grep -e '"l3_device"' | cut -d'"' -f4

ifstatus wan | grep -e '"device"' | cut -d'"' -f4

I don't know what led you to change your wan interface, but the interfaces wan or pppoe-wan seem to be non-existent in your setup (or at least in the context of tc), which is why qosmate isn’t working.

When you initially used eth1 as your interface at the beginning, it was clear that CAKE was properly initialized, and there was already traffic hitting the different tins.

So please follow my instructions exactly:

  • Set the WAN interface to eth1
  • Restart qosmate

Then show me the output of:

service qosmate status

I changed it to eth1 but still it is showing pppoe-wan

 ifstatus wan | grep -e '"device"' | cut -d'"' -f4
eth1.10
service qosmate status
==== qosmate Status ====
qosmate service is enabled.
Traffic shaping is active on the egress interface (eth1).
Traffic shaping is active on the ingress interface (ifb-eth1).
==== Overall Status ====
qosmate is currently active and managing traffic shaping.
==== Current Settings ====
Upload rate: 15000 kbps
Download rate: 45000 kbps
Game traffic upload: 2650 (Default value) kbps
Game traffic download: 7150 (Default value) kbps
Queue discipline: CAKE (Root qdisc)
==== Package Status ====
All required packages are installed.

==== Detailed Technical Information ====
Traffic Control (tc) Queues:
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 54228414289 bytes 53671844 pkt (dropped 0, overlimits 0 requeues 19325)
 backlog 0b 0p requeues 19325
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 27120643992 bytes 26482950 pkt (dropped 0, overlimits 0 requeues 3080)
 backlog 0b 0p requeues 3080
  maxpacket 33308 drop_overlimit 0 new_flow_count 140523 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 13472605776 bytes 12945440 pkt (dropped 0, overlimits 0 requeues 5885)
 backlog 0b 0p requeues 5885
  maxpacket 48448 drop_overlimit 0 new_flow_count 25320 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 56602407 bytes 99810 pkt (dropped 0, overlimits 0 requeues 6080)
 backlog 0b 0p requeues 6080
  maxpacket 40102 drop_overlimit 0 new_flow_count 204 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 29943271 bytes 90373 pkt (dropped 0, overlimits 0 requeues 2869)
 backlog 0b 0p requeues 2869
  maxpacket 34822 drop_overlimit 0 new_flow_count 122 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 13548618843 bytes 14053271 pkt (dropped 0, overlimits 0 requeues 1411)
 backlog 0b 0p requeues 1411
  maxpacket 59046 drop_overlimit 0 new_flow_count 189 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc cake 8020: dev eth1 root refcnt 2 bandwidth 15Mbit diffserv4 dual-srchost nat wash no-ack-filter split-gso rtt 100ms noatm overhead 22
 Sent 64939 bytes 376 pkt (dropped 0, overlimits 113 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 5504b of 4Mb
 capacity estimate: 15Mbit
 min/max network layer size:           16 /     625
 min/max overhead-adjusted size:       38 /     647
 average network hdr offset:           11

                   Bulk  Best Effort        Video        Voice
  thresh      937496bit       15Mbit     7500Kbit     3750Kbit
  target         19.4ms          5ms          5ms          5ms
  interval        114ms        100ms        100ms        100ms
  pk_delay          0us         79us          0us          0us
  av_delay          0us          8us          0us          0us
  sp_delay          0us          2us          0us          0us
  backlog            0b           0b           0b           0b
  pkts                0          376            0            0
  bytes               0        64939            0            0
  way_inds            0            0            0            0
  way_miss            0           61            0            0
  way_cols            0            0            0            0
  drops               0            0            0            0
  marks               0            0            0            0
  ack_drop            0            0            0            0
  sp_flows            0            2            0            0
  bk_flows            0            1            0            0
  un_flows            0            0            0            0
  max_len             0          639            0            0
  quantum           300          457          300          300

qdisc ingress ffff: dev eth1 parent ffff:fff1 ----------------
 Sent 31731 bytes 241 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 eth1.10 root refcnt 2
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc noqueue 0: dev eth1.20 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 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 8007406922 bytes 7745480 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 4476 drop_overlimit 0 new_flow_count 22764 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc cake 8021: dev ifb-eth1 root refcnt 2 bandwidth 45Mbit diffserv4 dual-dsthost nat wash ingress no-ack-filter split-gso rtt 100ms noatm overhead 22
 Sent 35105 bytes 241 pkt (dropped 0, overlimits 9 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 1856b of 4Mb
 capacity estimate: 45Mbit
 min/max network layer size:           42 /     776
 min/max overhead-adjusted size:       64 /     798
 average network hdr offset:            9

                   Bulk  Best Effort        Video        Voice
  thresh       2812Kbit       45Mbit    22500Kbit    11250Kbit
  target         6.46ms          5ms          5ms          5ms
  interval        101ms        100ms        100ms        100ms
  pk_delay          0us         20us          0us          0us
  av_delay          0us          2us          0us          0us
  sp_delay          0us          1us          0us          0us
  backlog            0b           0b           0b           0b
  pkts                0          241            0            0
  bytes               0        35105            0            0
  way_inds            0            0            0            0
  way_miss            0           64            0            0
  way_cols            0            0            0            0
  drops               0            0            0            0
  marks               0            0            0            0
  ack_drop            0            0            0            0
  sp_flows            0            3            0            0
  bk_flows            0            1            0            0
  un_flows            0            0            0            0
  max_len             0          790            0            0
  quantum           300         1373          686          343


==== Nftables Ruleset (dscptag) ====
        chain dscptag {
                type filter hook forward priority filter; policy accept;
                ip protocol udp udp sport 51413 ip dscp set cs1 counter packets 1 bytes 48
                ip6 nexthdr udp udp sport 51413 ip6 dscp set cs1 counter packets 0 bytes 0
                ip protocol udp udp dport 51413 ip dscp set cs1 counter packets 0 bytes 0
                ip6 nexthdr udp udp dport 51413 ip6 dscp set cs1 counter packets 0 bytes 0
                ip protocol tcp tcp sport { 6881-6889, 51413 } ip dscp set cs1 counter packets 1 bytes 44
                ip6 nexthdr tcp tcp sport { 6881-6889, 51413 } ip6 dscp set cs1 counter packets 0 bytes 0
                ip protocol tcp tcp dport { 6881-6889, 51413 } ip dscp set cs1 counter packets 1 bytes 40
                ip6 nexthdr tcp tcp dport { 6881-6889, 51413 } ip6 dscp set cs1 counter packets 0 bytes 0
                ip protocol tcp tcp flags & ack == ack meta length < 100 add @xfst4ack { ip daddr . ip saddr . tcp dport . tcp sport limit rate over 75000/second } counter packets 0 bytes 0 jump drop995
                ip protocol tcp tcp flags & ack == ack meta length < 100 add @fast4ack { ip daddr . ip saddr . tcp dport . tcp sport limit rate over 7500/second } counter packets 0 bytes 0 jump drop95
                ip protocol tcp tcp flags & ack == ack meta length < 100 add @med4ack { ip daddr . ip saddr . tcp dport . tcp sport limit rate over 750/second } counter packets 0 bytes 0 jump drop50
                ip protocol tcp tcp flags & ack == ack meta length < 100 add @slow4ack { ip daddr . ip saddr . tcp dport . tcp sport limit rate over 750/second } counter packets 0 bytes 0 jump drop50
                ip protocol tcp ct bytes < 2812500 ip dscp < cs4 ip dscp set cs0 counter packets 99 bytes 10759
                ip protocol tcp ct bytes > 56250000 ip dscp < cs4 ip dscp set cs1 counter packets 0 bytes 0
                ip protocol tcp add @slowtcp4 { ip saddr . ip daddr . tcp sport . tcp dport limit rate 150/second burst 150 packets } ip dscp set af42 counter packets 99 bytes 10759
                ip6 nexthdr tcp add @slowtcp6 { ip6 saddr . ip6 daddr . tcp sport . tcp dport limit rate 150/second burst 150 packets } ip6 dscp set af42 counter packets 0 bytes 0
                meta priority set ip dscp map @priomap counter packets 514 bytes 78310
                meta priority set ip6 dscp map @priomap counter packets 0 bytes 0
                meta nfproto ipv4 ct mark set @nh,8,8 & 0xfc [invalid type] | 0x80 counter packets 514 bytes 78310
                meta nfproto ipv6 ct mark set @nh,0,16 & 0xfc0 [invalid type] | 0x80 counter packets 0 bytes 0
        }
}

==== Custom Rules Table Status ====
Custom rules table (qosmate_custom) is not active or doesn't exist.

But it looks good now! Please redo your tests and report back.

ok I will report back when torrents using my upload speed.

Why not just simply perform a speedtest?

1 Like

@neil1:
Note how now qosmate reports active shaping on eth1:
Traffic shaping is active on the egress interface (eth1).
and you get cake statistics for both directions showing some traffic flowing.

This however indicates to me that you might want to try setting the qos-mate interface to eth1.10

1 Like

speedtest is working :hammer_and_pick:
and what about this setting?

@Hudra should I try eth1.10?

Yes, just give it a try. Change it to eth1.10 and then run a speed test from a client again. If the speed test shows that the bandwidth is limited in both directions to roughly what you've set, you should be good to go. Otherwise revert back to eth1.

You mentioned earlier that you're also using IPTV? Are you receiving that through a different VLAN? Could you show me your network settings? Make sure to redact sensitive information:

cat /etc/config/network

I don't know what connection type you have but if you are unsure just use ethernet and you should be save. It's better to overestimate slightly than to underestimate.

1 Like

yes, I changed it to eth1.10 and it's working. Here is the result.
with QoSmate
image
without QoSmate

service qosmate status
==== qosmate Status ====
qosmate service is enabled.
No qosmate traffic shaping is active on the egress interface (eth1.10).
Traffic shaping is not active on the ingress interface (ifb-eth1.10).
==== Overall Status ====
qosmate is not currently active or managing traffic shaping.
==== Current Settings ====
Upload rate: 15000 kbps
Download rate: 45000 kbps
Game traffic upload: 2650 (Default value) kbps
Game traffic download: 7150 (Default value) kbps
Queue discipline: CAKE (Root qdisc)
==== Package Status ====
All required packages are installed.

==== Detailed Technical Information ====
Traffic Control (tc) Queues:
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 33426610802 bytes 26781186 pkt (dropped 0, overlimits 0 requeues 73)
 backlog 0b 0p requeues 73
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 14989241952 bytes 12053565 pkt (dropped 0, overlimits 0 requeues 25)
 backlog 0b 0p requeues 25
  maxpacket 1514 drop_overlimit 0 new_flow_count 17282 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 4842233862 bytes 4096126 pkt (dropped 0, overlimits 0 requeues 35)
 backlog 0b 0p requeues 35
  maxpacket 1506 drop_overlimit 0 new_flow_count 2714 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 10771268 bytes 36504 pkt (dropped 0, overlimits 0 requeues 10)
 backlog 0b 0p requeues 10
  maxpacket 1494 drop_overlimit 0 new_flow_count 3 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 7970223 bytes 34648 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 1466 drop_overlimit 0 new_flow_count 3 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 13576393497 bytes 10560343 pkt (dropped 0, overlimits 0 requeues 3)
 backlog 0b 0p requeues 3
  maxpacket 1506 drop_overlimit 0 new_flow_count 30 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc cake 8011: dev eth1 root refcnt 2 bandwidth 15Mbit diffserv4 dual-srchost nat wash no-ack-filter split-gso rtt 100ms noatm overhead 22
 Sent 60336382 bytes 99235 pkt (dropped 4186, overlimits 130637 requeues 0)
 backlog 19682b 13p requeues 0
 memory used: 118336b of 4Mb
 capacity estimate: 15Mbit
 min/max network layer size:           16 /    1500
 min/max overhead-adjusted size:       38 /    1522
 average network hdr offset:           14

                   Bulk  Best Effort        Video        Voice
  thresh      937496bit       15Mbit     7500Kbit     3750Kbit
  target         19.4ms          5ms          5ms          5ms
  interval        114ms        100ms        100ms        100ms
  pk_delay          0us       12.5ms        702us        271us
  av_delay          0us       4.76ms         65us          4us
  sp_delay          0us       1.25ms         36us          3us
  backlog            0b       19682b           0b           0b
  pkts                0       103316          102           16
  bytes               0     66678495        14148          720
  way_inds            0           21            0            0
  way_miss            0         1053           18            6
  way_cols            0            0            0            0
  drops               0         4186            0            0
  marks               0            0            0            0
  ack_drop            0            0            0            0
  sp_flows            0            5            3            1
  bk_flows            0            4            0            0
  un_flows            0            0            0            0
  max_len             0         1514          639           46
  quantum           300          457          300          300

qdisc ingress ffff: dev eth1 parent ffff:fff1 ----------------
 Sent 186481385 bytes 166677 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 eth1.10 root refcnt 2
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc noqueue 0: dev eth1.20 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 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
 Sent 1511900806 bytes 8785069 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 11840 drop_overlimit 0 new_flow_count 55888 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc cake 8012: dev ifb-eth1 root refcnt 2 bandwidth 45Mbit diffserv4 dual-dsthost nat wash ingress no-ack-filter split-gso rtt 100ms noatm overhead 22
 Sent 188322478 bytes 166343 pkt (dropped 331, overlimits 241419 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 356736b of 4Mb
 capacity estimate: 45Mbit
 min/max network layer size:           42 /    1500
 min/max overhead-adjusted size:       64 /    1522
 average network hdr offset:           14

                   Bulk  Best Effort        Video        Voice
  thresh       2812Kbit       45Mbit    22500Kbit    11250Kbit
  target         6.46ms          5ms          5ms          5ms
  interval        101ms        100ms        100ms        100ms
  pk_delay          0us         37us        440us         96us
  av_delay          0us          5us         38us          1us
  sp_delay          0us          1us          2us          1us
  backlog            0b           0b           0b           0b
  pkts                0       166527          142            5
  bytes               0    188716921        94908          300
  way_inds            0           13            0            0
  way_miss            0          776           20            2
  way_cols            0            0            0            0
  drops               0          331            0            0
  marks               0            0            0            0
  ack_drop            0            0            0            0
  sp_flows            0            8            3            1
  bk_flows            0            1            0            0
  un_flows            0            0            0            0
  max_len             0         1514         3028           60
  quantum           300         1373          686          343


==== Nftables Ruleset (dscptag) ====
        chain dscptag {
                type filter hook forward priority filter; policy accept;
                ip protocol udp udp sport 51413 ip dscp set cs1 counter packets 9 bytes 2476
                ip6 nexthdr udp udp sport 51413 ip6 dscp set cs1 counter packets 0 bytes 0
                ip protocol udp udp dport 51413 ip dscp set cs1 counter packets 37 bytes 4843
                ip6 nexthdr udp udp dport 51413 ip6 dscp set cs1 counter packets 0 bytes 0
                ip protocol tcp tcp sport { 6881-6889, 51413 } ip dscp set cs1 counter packets 25 bytes 1882
                ip6 nexthdr tcp tcp sport { 6881-6889, 51413 } ip6 dscp set cs1 counter packets 0 bytes 0
                ip protocol tcp tcp dport { 6881-6889, 51413 } ip dscp set cs1 counter packets 20 bytes 1891
                ip6 nexthdr tcp tcp dport { 6881-6889, 51413 } ip6 dscp set cs1 counter packets 0 bytes 0
                ip protocol tcp tcp flags & ack == ack meta length < 100 add @xfst4ack { ip daddr . ip saddr . tcp dport . tcp sport limit rate over 75000/second } counter packets 0 bytes 0 jump drop995
                ip protocol tcp tcp flags & ack == ack meta length < 100 add @fast4ack { ip daddr . ip saddr . tcp dport . tcp sport limit rate over 7500/second } counter packets 0 bytes 0 jump drop95
                ip protocol tcp tcp flags & ack == ack meta length < 100 add @med4ack { ip daddr . ip saddr . tcp dport . tcp sport limit rate over 750/second } counter packets 152 bytes 8284 jump drop50
                ip protocol tcp tcp flags & ack == ack meta length < 100 add @slow4ack { ip daddr . ip saddr . tcp dport . tcp sport limit rate over 750/second } counter packets 78 bytes 4268 jump drop50
                ip protocol tcp ct bytes < 2812500 ip dscp < cs4 ip dscp set cs0 counter packets 102077 bytes 86516790
                ip protocol tcp ct bytes > 56250000 ip dscp < cs4 ip dscp set cs1 counter packets 0 bytes 0
                ip protocol tcp add @slowtcp4 { ip saddr . ip daddr . tcp sport . tcp dport limit rate 150/second burst 150 packets } ip dscp set af42 counter packets 106175 bytes 75878734
                ip6 nexthdr tcp add @slowtcp6 { ip6 saddr . ip6 daddr . tcp sport . tcp dport limit rate 150/second burst 150 packets } ip6 dscp set af42 counter packets 0 bytes 0
                meta priority set ip dscp map @priomap counter packets 268145 bytes 248996288
                meta priority set ip6 dscp map @priomap counter packets 0 bytes 0
                meta nfproto ipv4 ct mark set @nh,8,8 & 0xfc [invalid type] | 0x80 counter packets 268145 bytes 248996288
                meta nfproto ipv6 ct mark set @nh,0,16 & 0xfc0 [invalid type] | 0x80 counter packets 0 bytes 0
        }
}

==== Custom Rules Table Status ====
Custom rules table (qosmate_custom) is not active or doesn't exist.

I have a vdsl connection. My vdsl modem is in bridge mode and pi 4 router is dialing pppoe connection on vlan 10.

cat /etc/config/network

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 'fde1:1c7d:9d80::/48'
        option packet_steering '1'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'eth0'
        option multicast '0'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.2'
        option netmask '255.255.255.0'
        option ip6assign '60'

config device
        option type '8021q'
        option ifname 'eth1'
        option vid '10'
        option name 'eth1.10'

config device
        option type '8021q'
        option ifname 'eth1'
        option vid '20'
        option name 'eth1.20'

config interface 'wan'
        option proto 'pppoe'
        option device 'eth1.10'
        option username '*********'
        option password '********'
        option ipv6 'auto'
        option multicast '0'

config interface 'iptv'
        option proto 'static'
        option device 'eth1.20'
        option ipaddr '10.10.10.1'
        option netmask '255.255.255.0'

config interface 'modem'
        option proto 'static'
        option device 'eth1'
        option ipaddr '192.168.10.5'
        option netmask '255.255.255.0'

config device
        option name 'eth0'

config device
        option name 'eth1'
1 Like

Mmmh, in I bet the IPTV traffic is accounted against the same rate, so putting the shaper on eth1 seems reasonable as only then the ingress shaper will see both the IPTV and the internet traffic.

What sync rates does your modem report?

Downstream	Upstream	Downstream	Upstream
Rate (Kbps):	54291	22789	0	0

download rate stays same. but the upload rate keeps changing from 15000kbps to 25000kbps, in summer its lower.
My package is 50mb and there is separate 3000 or 4000kbps assigned for IPTV

Ah, OKAY that is unfortunate... you likely should try to get bi directional shaping going on eth1.10 then as shaping on eth1 will affect both internet and IPTV traffic which in all likelihood is not going to work out well.

1 Like

Yes, I am using eth1.10 as a wan interface and its working.

So you get two cake statistics reports for both eth1.10 and ifb-eth1.10 in the qosmate output?

1 Like