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

No worries, I am certain that im following the correct steps but I will do it again and pm you :slight_smile:

 cat /etc/config/qosmate

config global 'global'
        option enabled '1'

config settings 'settings'
        option WAN 'pppoa-wan'
        option DOWNRATE '4500'
        option UPRATE '650'
        option ROOT_QDISC 'hfsc'

config advanced 'advanced'
        option PRESERVE_CONFIG_FILES '1'
        option WASHDSCPUP '0'
        option WASHDSCPDOWN '0'
        option BWMAXRATIO '20'
        option UDP_RATE_LIMIT_ENABLED '0'
        option TCP_UPGRADE_ENABLED '1'
        option UDPBULKPORT '51413'
        option TCPBULKPORT '51413,6881-6889'
        option MSS '550'

config hfsc 'hfsc'
        option nongameqdiscoptions 'besteffort ack-filter'
        option LINKTYPE 'atm'
        option OH '9'
        option gameqdisc 'pfifo'
        option nongameqdisc 'cake'
        option MAXDEL '24'
        option PFIFOMIN '5'
        option PACKETSIZE '450'
        option netemdelayms '30'
        option netemjitterms '7'
        option netemdist 'normal'
        option pktlossp 'none'
        option GAMEUP '600'
        option GAMEDOWN '2000'

config cake 'cake'
        option COMMON_LINK_PRESETS 'pppoa-vcmux'
        option PRIORITY_QUEUE_INGRESS 'diffserv4'
        option PRIORITY_QUEUE_EGRESS 'diffserv4'
        option HOST_ISOLATION '1'
        option NAT_INGRESS '1'
        option NAT_EGRESS '1'
        option ACK_FILTER_EGRESS 'auto'
        option AUTORATE_INGRESS '0'
        option OVERHEAD '9'

config custom_rules 'custom_rules'

config rule
        option name 'Game_Console_Outbound'
        option proto 'udp'
        option src_ip '192.168.1.200'
        list dest_port '!=80'
        list dest_port '!=443'
        option class 'cs5'
        option counter '1'
        option enabled '0'

config rule
        option name 'Game_Console_Inbound'
        option proto 'udp'
        option dest_ip '192.168.1.200'
        list src_port '!=80'
        list src_port '!=443'
        option class 'cs5'
        option counter '1'
        option enabled '0'

config rule 'cod1'
        option name 'cod1'
        option proto 'udp'
        option src_ip '192.168.1.200'
        option src_port '3074'
        option dest_port '30000-65535'
        option class 'cs5'
        option counter '1'
        option enabled '1'

config rule 'cod2'
        option name 'cod2'
        option proto 'udp'
        option dest_ip '192.168.1.200'
        option dest_port '3074'
        option class 'cs5'
        option counter '1'
        option enabled '1'

config rule
        option name 'cod3'
        option proto 'udp'
        list src_ip '192.168.1.200'
        list src_port '3074'
        list dest_port '3074'
        option class 'cs5'
        option counter '1'
        option enabled '1'

config rule
        option name 'Battlefield PC1'
        option proto 'udp'
        list src_ip '192.168.1.200'
        list src_port '3659'
        option class 'cs5'
        option counter '1'
        option enabled '1'

config rule
        option name 'Battlefield PC2'
        option proto 'udp'
        list dest_ip '192.168.1.200'
        list dest_port '3659'
        option class 'cs5'
        option counter '1'
        option enabled '1'

config rule
        option name 'test icmp'
        option proto 'icmp'
        list src_ip '192.168.1.200'
        option class 'cs5'
        option counter '1'
        option enabled '1'

root@OpenWrt:~#

If anyone knows how to fix this,

meta nfproto 0 ct mark set @nh,8,8 & 0xfc [invalid type] | 0x80                                                                                                                                                              counter packets 0 bytes 0
meta nfproto 0 ct mark set @nh,0,16 & 0xfc0 [invalid type] | 0x8                                                                                                                                                             0 counter packets 0 bytes 0
        }
}

when typing out:

service qosmate status

Please do let me know.

@Hudra, can you see if my settings are ok, if not, please let me know what could be wrong.
Router

root@OpenWrt:~# ubus call system board
{
        "kernel": "5.15.162",
        "hostname": "OpenWrt",
        "system": "MediaTek MT7621 ver:1 eco:3",
        "model": "TP-Link Archer C6 v3",
        "board_name": "tplink,archer-c6-v3",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "23.05.4",
                "revision": "r24012-d8dd03c46f",
                "target": "ramips/mt7621",
                "description": "OpenWrt 23.05.4 r24012-d8dd03c46f"
        }
}
´´´

/etc/config/qosmate
```

config global 'global'
	option enabled '1'

config settings 'settings'
	option WAN 'pppoe-wan'
	option DOWNRATE '68896'
	option UPRATE '116552'
	option ROOT_QDISC 'hfsc'

config advanced 'advanced'
	option PRESERVE_CONFIG_FILES '1'
	option WASHDSCPUP '1'
	option WASHDSCPDOWN '1'
	option BWMAXRATIO '20'
	option UDP_RATE_LIMIT_ENABLED '0'
	option TCP_UPGRADE_ENABLED '1'
	option UDPBULKPORT '51413'
	option TCPBULKPORT '51413,6881-6889'

config hfsc 'hfsc'
	option LINKTYPE 'ethernet'
	option OH '44'
	option gameqdisc 'pfifo'
	option nongameqdisc 'fq_codel'
	option nongameqdiscoptions 'besteffort ack-filter'
	option MAXDEL '24'
	option PFIFOMIN '5'
	option PACKETSIZE '450'
	option netemdelayms '30'
	option netemjitterms '7'
	option netemdist 'normal'
	option pktlossp 'none'
	option GAMEUP '17883'
	option GAMEDOWN '10734'

config cake 'cake'
	option COMMON_LINK_PRESETS 'ethernet'
	option PRIORITY_QUEUE_INGRESS 'diffserv4'
	option PRIORITY_QUEUE_EGRESS 'diffserv4'
	option HOST_ISOLATION '1'
	option NAT_INGRESS '1'
	option NAT_EGRESS '1'
	option ACK_FILTER_EGRESS 'auto'
	option AUTORATE_INGRESS '0'

config custom_rules 'custom_rules'

config rule
	option name 'zoom_traffic'
	option proto 'tcp udp'
	list dest_port '3478-3479'
	list dest_port '8801-8802'
	option class 'af41'
	option counter '1'

config rule
	option name 'p2p_traffic'
	option proto 'tcp udp'
	list src_port '6881-6889'
	list dest_port '6881-6889'
	option class 'cs1'
	option counter '1'

config rule
	option name 'CallofDuty01'
	option proto 'udp'
	option src_ip '192.168.1.238'
	option src_port '3074'
	option dest_port '30000-65535'
	option class 'cs5'
	option counter '1'

config rule
	option name 'CallofDuty02'
	option proto 'udp'
	option dest_ip '192.168.1.238'
	option dest_port '3074'
	option class 'cs5'
	option counter '1'

config rule
	option name 'Game_Console_Outbound'
	option proto 'udp'
	option src_ip '192.168.1.238'
	list dest_port '!=80'
	list dest_port '!=443'
	option class 'cs5'
	option counter '1'

config rule
	option name 'Game_Console_Inbound'
	option proto 'udp'
	option dest_ip '192.168.1.238'
	list src_port '!=80'
	list src_port '!=443'
	option class 'cs5'
	option counter '1'

```

@hudra I forgot to mention that on my internet pages after I made these settings there is a little delay, but in my games it was almost perfect. Now I think I'm getting my settings right. Could you give me some advice on how I could change the qosmate config so that the internet pages can open a little faster.

I’ve successfully setup (qosmate) but every time the router is rebooted I need to keep enabling it, on the startup page it’s disabled but I’ve enabled it but it just doesn’t save.

Also any rules for (Xbox Series X) and (Apex Legends) can’t seem to find what ports Apex Legends uses.

Thanks

Actually this shouldn't be happening as the application uses a hotplug script which normally gets triggered when your wan interface comes up as your router is starting... But there could be some sort of race condition.

  1. Please show me the following outputs:
ubus call system board

service qosmate status

ifstatus wan | grep -e '"device"' 

ifstatus wan | grep -e '"l3_device"'

cat /etc/config/qosmate
  1. Perform a test
  • reboot your router
  • when it's back up again wait 2-3 more minutes
  • then show the following outupt:
logread

How do you enable/start qosmate first place?

Note: Actually you don't have to enable qosmate actively, as it will get enabled automatically when it's started and get disabled when you stop it.

Just use the generic rule and you should be fine.

The generic rule should be sufficient too but I don't play Apex Legends so if you want to prioritize the individual port(s) that apex uses you can probably find them via the connections tab (or google them).

  1. start the game - make sure you are actually in the game (not the pregame lobby or menu...) and don't have any background downloads or applications active on your gaming device...
  2. Open the connection tab on your pc or smartphone
  3. Filter your consoles gaming ip
  4. then sort by AVG PPS or AVG BPS descending
  5. The first or second entry probably contains the gaming port - Note games usually use udp protocol
  6. Then create a rule with the Information you gathered

Why is your downrate substantially lower than your uprate? What speeds do you usually get from your isp?

What is a little delay?

This option prioritizes browsing normally into the secound highest class, so you should be good to go.

option DOWNRATE '68896'
option UPRATE '116552'

my upload speed is faster than my download speed

I tried QoSmate but my speed was stuck at half on the pc I was testing. I will try again and share my results.

A bit more context would be helpful. What speeds does your ISP provide? What device are you using, and which root qdisc do you have configured? What settings have you applied in general? How did you conduct your tests? over ethernet or wifi?

Please run your tests again and let me know if the issue persists. If it does, please provide the following outputs:

ubus call system board

service qosmate status

cat /etc/config/qosmate
1 Like
ubus call system board
{
        "kernel": "5.15.150",
        "hostname": "network.lan",
        "system": "ARMv8 Processor rev 3",
        "model": "Raspberry Pi 4 Model B Rev 1.1",
        "board_name": "raspberrypi,4-model-b",
        "rootfs_type": "ext4",
        "release": {
                "distribution": "OpenWrt",
                "version": "23.05.3",
                "revision": "r23809-234f1a2efa",
                "target": "bcm27xx/bcm2711",
                "description": "OpenWrt 23.05.3 r23809-234f1a2efa"
        }
}
 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 848296137 bytes 805079 pkt (dropped 0, overlimits 0 requeues 734)
 backlog 0b 0p requeues 734
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 264016752 bytes 216762 pkt (dropped 0, overlimits 0 requeues 113)
 backlog 0b 0p requeues 113
  maxpacket 27252 drop_overlimit 0 new_flow_count 273 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 175342289 bytes 218071 pkt (dropped 0, overlimits 0 requeues 175)
 backlog 0b 0p requeues 175
  maxpacket 16746 drop_overlimit 0 new_flow_count 156 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 22710083 bytes 20926 pkt (dropped 0, overlimits 0 requeues 129)
 backlog 0b 0p requeues 129
  maxpacket 15140 drop_overlimit 0 new_flow_count 59 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 9576458 bytes 8398 pkt (dropped 0, overlimits 0 requeues 196)
 backlog 0b 0p requeues 196
  maxpacket 26832 drop_overlimit 0 new_flow_count 26 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 376650555 bytes 340922 pkt (dropped 0, overlimits 0 requeues 121)
 backlog 0b 0p requeues 121
  maxpacket 25318 drop_overlimit 0 new_flow_count 9 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc cake 8013: dev eth1 root refcnt 2 bandwidth 15Mbit diffserv4 dual-srchost nat wash no-ack-filter split-gso rtt 100ms noatm overhead 38 mpu 84
 Sent 30618327 bytes 74703 pkt (dropped 46, overlimits 66667 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 190400b of 4Mb
 capacity estimate: 15Mbit
 min/max network layer size:           16 /    1500
 min/max overhead-adjusted size:       84 /    1538
 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        141us        414us        463us
  av_delay          0us         16us         18us         12us
  sp_delay          0us          2us          1us          3us
  backlog            0b           0b           0b           0b
  pkts                0        74540          187           22
  bytes               0     30659449        25938          976
  way_inds            0            3            0            0
  way_miss            0          322           33            6
  way_cols            0            0            0            0
  drops               0           46            0            0
  marks               0            0            0            0
  ack_drop            0            0            0            0
  sp_flows            0            2            3            1
  bk_flows            0            1            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 138099291 bytes 129938 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 178419688 bytes 452720 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 14920 drop_overlimit 0 new_flow_count 4081 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc cake 8014: dev ifb-eth1 root refcnt 2 bandwidth 45Mbit diffserv4 dual-dsthost nat wash ingress no-ack-filter split-gso rtt 100ms noatm overhead 38 mpu 84
 Sent 139690750 bytes 129782 pkt (dropped 149, overlimits 136745 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 448000b of 4Mb
 capacity estimate: 45Mbit
 min/max network layer size:           42 /    1500
 min/max overhead-adjusted size:       84 /    1538
 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        219us        236us        105us
  av_delay          0us         36us         23us          2us
  sp_delay          0us          2us          2us          1us
  backlog            0b           0b           0b           0b
  pkts                0       129684          236           11
  bytes               0    139772450       140322          660
  way_inds            0         8697            0            0
  way_miss            0          356           34            2
  way_cols            0            0            0            0
  drops               0          149            0            0
  marks               0            0            0            0
  ack_drop            0            0            0            0
  sp_flows            0            3            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 0 bytes 0
                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 0 bytes 0
                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 0 bytes 0
                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 75 bytes 4884 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 1477 bytes 87872 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 856 bytes 50068 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 431 bytes 25296 jump drop50
                ip protocol tcp ct bytes < 2812500 ip dscp < cs4 ip dscp set cs0 counter packets 45654 bytes 40367251
                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 53646 bytes 40029833
                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 203322 bytes 165927595
                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 203322 bytes 165927595
                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.
 cat /etc/config/qosmate

config global 'global'
        option enabled '1'

config settings 'settings'
        option WAN 'eth1'
        option DOWNRATE '45000'
        option UPRATE '15000'
        option ROOT_QDISC 'cake'

config advanced 'advanced'
        option PRESERVE_CONFIG_FILES '1'
        option WASHDSCPUP '1'
        option WASHDSCPDOWN '1'
        option BWMAXRATIO '20'
        option UDP_RATE_LIMIT_ENABLED '0'
        option TCP_UPGRADE_ENABLED '1'
        option UDPBULKPORT '51413'
        option TCPBULKPORT '51413,6881-6889'

config hfsc 'hfsc'
        option LINKTYPE 'ethernet'
        option OH '44'
        option gameqdisc 'pfifo'
        option nongameqdisc 'fq_codel'
        option nongameqdiscoptions 'besteffort ack-filter'
        option MAXDEL '24'
        option PFIFOMIN '5'
        option PACKETSIZE '450'
        option netemdelayms '30'
        option netemjitterms '7'
        option netemdist 'normal'
        option pktlossp 'none'

config cake 'cake'
        option COMMON_LINK_PRESETS 'bridged-ptm'
        option PRIORITY_QUEUE_INGRESS 'diffserv4'
        option PRIORITY_QUEUE_EGRESS 'diffserv4'
        option HOST_ISOLATION '1'
        option NAT_INGRESS '1'
        option NAT_EGRESS '1'
        option ACK_FILTER_EGRESS 'auto'
        option AUTORATE_INGRESS '0'

config custom_rules 'custom_rules'

Overall, your settings look good, and everything should work as expected.

The only odd thing is that you've defined COMMON_LINK_PRESETS as 'bridged-ptm', which according to the CAKE man page should be equivalent to overhead 22 ptm. However, in your tc qdisc rules, it's showing noatm overhead 38 mpu 84, which is the default for Ethernet. Could it be that you've set the configuration, but the changes haven't been applied yet?

Still, it's unlikely that particular overhead is responsible for slowness. On RPi it definitely helped to use irqbalance and to enable the settings for packet balancing I can't remember the name of the setting.

Here's a post on getting the most out of rpi4

2 Likes

I don't know. Can you help me configure it properly for my vdsl connection with vdsl modem in bridge mode with my openwrt router?

I don't know but it's not working for me. I am trying to set the upload rate at 15000kbps but my torrent uploads still use all the speed from ISP which is close to 20000kbps.

I tried playing online game, there is no packet loss but ping is high.

service qosmate status
==== qosmate Status ====
qosmate service is enabled.
No qosmate traffic shaping is active on the egress interface (wan).
Traffic shaping is active on the ingress interface (ifb-wan).
==== 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 49148474044 bytes 47604329 pkt (dropped 0, overlimits 0 requeues 2466)
 backlog 0b 0p requeues 2466
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 23690430913 bytes 22598378 pkt (dropped 0, overlimits 0 requeues 210)
 backlog 0b 0p requeues 210
  maxpacket 33308 drop_overlimit 0 new_flow_count 130614 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 12548384426 bytes 12030198 pkt (dropped 0, overlimits 0 requeues 951)
 backlog 0b 0p requeues 951
  maxpacket 48448 drop_overlimit 0 new_flow_count 24707 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 40252086 bytes 83658 pkt (dropped 0, overlimits 0 requeues 859)
 backlog 0b 0p requeues 859
  maxpacket 40102 drop_overlimit 0 new_flow_count 78 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 23165327 bytes 79480 pkt (dropped 0, overlimits 0 requeues 216)
 backlog 0b 0p requeues 216
  maxpacket 26832 drop_overlimit 0 new_flow_count 29 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 12846241292 bytes 12812615 pkt (dropped 0, overlimits 0 requeues 230)
 backlog 0b 0p requeues 230
  maxpacket 59046 drop_overlimit 0 new_flow_count 58 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 10272703081 bytes 31692374 pkt (dropped 1285, overlimits 0 requeues 7668)
 backlog 0b 0p requeues 7668
  maxpacket 1514 drop_overlimit 1270 new_flow_count 18284 ecn_mark 0 drop_overmemory 1270
  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 2811963898 bytes 2341937 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 2152 drop_overlimit 0 new_flow_count 5063 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc cake 801c: 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 7 bytes 1766
                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 42 bytes 5532
                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 37 bytes 3200
                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 57 bytes 3059
                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 677 bytes 43760 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 2810 bytes 159401 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 1393 bytes 78723 jump drop50
                ip protocol tcp ct bytes < 2812500 ip dscp < cs4 ip dscp set cs0 counter packets 62547 bytes 51470756
                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 55433 bytes 39951527
                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 1013481 bytes 939041511
                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 1063408 bytes 1007741063
                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.

That is why upload shaping does not seem to work...

The big question is why?

2 Likes

Could it be you used the wrong interface? Maybe try pppoe-wan.

1 Like

Hey was using the the right one before. He must have changed it.

@neil1 Please change your wan interface back to eth1.

Maybe I should reconsider the logic used to define the WAN interface in the UI, as there have been recurring issues with it. Currently, the interface has to be manually entered into the field, which can lead to errors. It might be better to offer a predefined list of devices/interfaces to prevent mistakes.

3 Likes

In sqm-scripts we purposefully do not restrict the choice of interfaces. Shaping on LAN-interfaces can be pretty useful. But in the GUI we present an annotated liat to choose from, msybe something for qosmate as well?

1 Like