How many connections?
updated post with details,
it kept the same amount of connections and a few moments later it dropped to 0
@Hudra I sent another PR for qosmate.sh optimization. This PR also affects how tc filters are created. The code needs review and testing because I might have missed something.
Since the previous attempts unfortunately didn't bring 100% success, I've now implemented a more fundamental solution:
What was done:
-
There's a new config option
MAX_CONNECTIONSin advanced Settings -
Backend now limits the number of connections read from /proc/net/nf_conntrack
-
Frontend has a dropdown (10, 50, 100, 500, 1000, 2000, 5000, Unlimited)
-
Warning is displayed when connections are limited
How it works:
Although not the prettiest approach but instead of reading and parsing all 1000-3000+ connections, the system stops after X lines. This reduces I/O load and prevents overloading the rpcd service.
Disadvantages:
-
When limiting is active, not all connections may be displayed
-
The first X connections from the conntrack table are read (in kernel order, not prioritized by importance). Important connections appearing later in the conntrack table might be missed.
Please test:
Switch to the snapshot update channel and test the changes. You'll find the config option in Advanced Settings. Start with a lower limit (e.g., 500) and see if the UI remains stable.
Make sure you cleared your browser cache and restarted the browser
Feedback would be great.
Iâll take a look at it as soon as I have time and get back to you. Thanks!
realistically who can keep an eye on 1000+ connections.
other idea would be to ignore anything CS0 before sending it to the ui?
given the choice, I wouldn't find filtering stuff by tiers
more priority than CS0
CS0 - which I would turn off
bulk/CS1 - which I would turn off too
Updated to current version:
Backend versions:
Update channel: snapshot
Current version: af644066ddfd9b2d9a94893b76fceb1a1577f680
Latest version: af644066ddfd9b2d9a94893b76fceb1a1577f680
Frontend versions:
Update channel: snapshot
Current version: f932b3f48dc1955d5a7f19b00be5b856406386ea
Latest version: f932b3f48dc1955d5a7f19b00be5b856406386ea
I am not seeing the MAX_CONNECTIONS in advanced Settings after clearing cache and restarting browser.
This is not the point...
If you have 5000 connections but only display the first 1000 of them and the connections in conntrack on OpenWrt arenât sorted in any meaningful way, it can happen that the very connections you went into the connections uI to look for are simply filtered out.
So, the problem isnât simply whether we display 1000 or 5000 connections... the real problem is that important connections can be missing from the list. The new config setting is a compromise, because it at least doesn't crash your ui.
You first need to figure out which connection has 0 bytes or perhaps a certain DSCP value, like CS0. To do that, you first have to load the entire conntrack table and then you run right back into the same problem.
Many people also use the connections ui to find connections that, for example, are not yet marked (i.e., have CS0) and that they want to mark, or to look for specific ports that certain connections are using. But in your scenario, all of these connections would be filtered out which doesnât make sense either.
As you can see, the issue is not as straightforward as it might seem.
edit: did you try the new setting?
Sorry, I may have phrased that a bit poorly. The setting is under âAdvancedâ in the config (not in the Advanced Tab) and you can simply change the settings in the âconnections ui.â
Thank you for new update.
Wondering why hit detection feels much better amazingly when I use NETAM as game discipline and Cake as non-game discipline. With 0 ms NETAM delay (in HFSC)
I have set hybrid in first main page with 400/400 mbps shape
Any reason behind this?
it's working if I limit it to 2000 connections ![]()
if I set it to 5000 it died, but this is a perfect solution for my use case
No, doesnât really make much sense to me as there sure are better game qdiscs but if it works for you, then thatâs perfectly fine.
Nice, thanks for testing!
Seeing the same, 2k works and 5k instantly crashes.
@Hudra I dont know what the issue is but i think all the qdiscs are breaking my connection now after having my line reset. My internet wont work until i disable qosmate now ![]()
Can you show the output of:
service qosmate status
and
service qosmate restart
when qosmate is activeâŚ
It is funny that good and stable qos is opposed to nowaday's online lag compensations.
I have ping of 3 in delta force and been getting instamelt by people with bad / unoptimized internet.
Solution: just use NETAM as main gaming queue disipline.
add 13 pings and 1 jitter. LMAO while using FQ_Codel for non-game queue disipline
It is a sad truth.
root@OpenWrt:~# service qosmate status
==== qosmate Status ====
qosmate autostart is enabled.
qosmate service is enabled.
Traffic shaping (HFSC) is active on the egress interface (pppoe-wan).
Traffic shaping is active on the ingress interface (ifb-pppoe-wan).
==== Overall Status ====
qosmate is currently active and managing traffic shaping.
==== Current Settings ====
Upload rate: 850 kbps
Download rate: 5500 kbps
Game traffic upload: 600 kbps
Game traffic download: 4000 kbps
Queue discipline: red (for game traffic in HFSC)
==== Version Information ====
Backend versions:
Update channel: branch=htb-qdisc
Current version: a2a03502d4e514a80967007098eff7b7817f332c
Latest version: a2a03502d4e514a80967007098eff7b7817f332c
Frontend versions:
Update channel: branch=htb-qdisc
Current version: 451fb78855d10588eeedb6272131d04b621c8000
Latest version: 451fb78855d10588eeedb6272131d04b621c8000
QoSmate components 'BACKEND FRONTEND' are up to date.
==== System Information ====
{
"kernel": "6.6.93",
"hostname": "OpenWrt",
"system": "ARMv8 Processor rev 4",
"model": "GL.iNet GL-MT3000",
"board_name": "glinet,gl-mt3000",
"rootfs_type": "squashfs",
"release": {
"distribution": "OpenWrt",
"version": "24.10.2",
"revision": "r28739-d9340319c6",
"target": "mediatek/filogic",
"description": "OpenWrt 24.10.2 r28739-d9340319c6",
"builddate": "1750711236"
}
}
==== Health Check ====
status=service:enabled;nft:ok;tc:ok;config:ok;packages:ok;BACKEND_integrity:ok;F RONTEND_integrity:ok;;errors=0
==== Flow Offloading Check ====
Flow offloading is disabled (compatible with qosmate).
==== WAN Interface Information ====
"l3_device": "pppoe-wan",
"device": "eth0",
==== QoSmate Configuration ====
config global 'global'
option enabled '1'
config settings 'settings'
option WAN 'pppoe-wan'
option DOWNRATE '5500'
option UPRATE '850'
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 TCP_DOWNPRIO_INITIAL_ENABLED '1'
option TCP_DOWNPRIO_SUSTAINED_ENABLED '1'
option UDPBULKPORT '51413,6881-6889'
option TCPBULKPORT '51413,6881-6889'
option NFT_HOOK 'forward'
option NFT_PRIORITY '0'
option MSS '536'
config hfsc 'hfsc'
option LINKTYPE 'atm'
option OH '44'
option gameqdisc 'red'
option nongameqdisc 'fq_codel'
option nongameqdiscoptions 'besteffort ack-filter'
option MAXDEL '12'
option PFIFOMIN '5'
option PACKETSIZE '450'
option netemdelayms '0'
option netemjitterms '7'
option netemdist 'normal'
option pktlossp 'none'
option GAMEDOWN '4000'
option GAMEUP '600'
config cake 'cake'
option COMMON_LINK_PRESETS 'pppoe-llcsnap'
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 '1'
option AUTORATE_INGRESS '0'
config custom_rules 'custom_rules'
config rule
option name 'Game_Console_Outbound'
option proto 'udp'
option src_ip '192.168.1.166'
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.166'
list src_port '!=80'
list src_port '!=443'
option class 'cs5'
option counter '1'
==== 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 9146732507 bytes 54848344 pkt (dropped 0, overlimits 0 requeues 1853)
backlog 0b 0p requeues 1853
qdisc fq_codel 0: dev eth0 parent :10 limit 10240p flows 1024 quantum 1514 targe t 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth0 parent :f limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth0 parent :e limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth0 parent :d limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth0 parent :c limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth0 parent :b limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth0 parent :a limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth0 parent :9 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth0 parent :8 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth0 parent :7 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth0 parent :6 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
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 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 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 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 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 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 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 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 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 9146732507 bytes 54848344 pkt (dropped 0, overlimits 0 requeues 1853)
backlog 0b 0p requeues 1853
maxpacket 1514 drop_overlimit 0 new_flow_count 1510 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc mq 0: dev eth1 root
Sent 62790038374 bytes 47829491 pkt (dropped 0, overlimits 0 requeues 19)
backlog 0b 0p requeues 19
qdisc fq_codel 0: dev eth1 parent :10 limit 10240p flows 1024 quantum 1514 targe t 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :f limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :e limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :d limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :c limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :b limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :a limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :9 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :8 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :7 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :6 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :5 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :4 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :3 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :2 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 62790038374 bytes 47829491 pkt (dropped 0, overlimits 0 requeues 19)
backlog 0b 0p requeues 19
maxpacket 15140 drop_overlimit 0 new_flow_count 432 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 parent :1 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
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 phy0-ap0 root refcnt 2
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc noqueue 0: dev phy1-ap0 root refcnt 2
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc hfsc 1: dev pppoe-wan root refcnt 2 default 13
Sent 43354 bytes 160 pkt (dropped 1, overlimits 32 requeues 0)
backlog 0b 0p requeues 0
qdisc fq_codel 8039: dev pppoe-wan parent 1:12 limit 10240p flows 1024 quantum 3 000 target 9ms interval 128ms memory_limit 21250b ecn drop_batch 64
Sent 31005 bytes 94 pkt (dropped 1, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 4929 drop_overlimit 1 new_flow_count 23 ecn_mark 0 drop_overmemory 1
new_flows_len 1 old_flows_len 7
qdisc fq_codel 803b: dev pppoe-wan parent 1:14 limit 10240p flows 1024 quantum 3 000 target 9ms interval 128ms memory_limit 21250b ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 803a: dev pppoe-wan parent 1:13 limit 10240p flows 1024 quantum 3 000 target 9ms interval 128ms memory_limit 21250b ecn drop_batch 64
Sent 12243 bytes 65 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 2226 drop_overlimit 0 new_flow_count 60 ecn_mark 0
new_flows_len 1 old_flows_len 0
qdisc fq_codel 803c: dev pppoe-wan parent 1:15 limit 10240p flows 1024 quantum 3 000 target 9ms interval 128ms memory_limit 21250b ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc ingress ffff: dev pppoe-wan parent ffff:fff1 ----------------
Sent 43913 bytes 183 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc hfsc 1: dev ifb-pppoe-wan root refcnt 2 default 13
Sent 60367 bytes 182 pkt (dropped 0, overlimits 88 requeues 0)
backlog 0b 0p requeues 0
qdisc fq_codel 803e: dev ifb-pppoe-wan parent 1:13 limit 10240p flows 1024 quant um 3000 target 4ms interval 104ms memory_limit 137500b ecn drop_batch 64
Sent 15847 bytes 61 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 1643 drop_overlimit 0 new_flow_count 50 ecn_mark 0
new_flows_len 1 old_flows_len 33
qdisc fq_codel 8040: dev ifb-pppoe-wan parent 1:15 limit 10240p flows 1024 quant um 3000 target 4ms interval 104ms memory_limit 137500b ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc red 10: dev ifb-pppoe-wan parent 1:11 limit 150000b min 2000b max 6000b
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
marked 0 early 0 pdrop 0 other 0
qdisc fq_codel 803d: dev ifb-pppoe-wan parent 1:12 limit 10240p flows 1024 quant um 3000 target 4ms interval 104ms memory_limit 137500b ecn drop_batch 64
Sent 43513 bytes 114 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 689 drop_overlimit 0 new_flow_count 22 ecn_mark 0
new_flows_len 1 old_flows_len 5
qdisc fq_codel 803f: dev ifb-pppoe-wan parent 1:14 limit 10240p flows 1024 quant um 3000 target 4ms interval 104ms memory_limit 137500b ecn drop_batch 64
Sent 1007 bytes 7 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 159 drop_overlimit 0 new_flow_count 6 ecn_mark 0
new_flows_len 1 old_flows_len 0
==== Nftables Ruleset (dscptag) ====
chain dscptag {
type filter hook forward priority filter; policy accept;
iif "lo" accept
counter packets 282 bytes 74897 jump mark_cs0
iifname "pppoe-wan" accept
oifname "pppoe-wan" tcp flags syn tcp option maxseg size set 536 counter packets 2 bytes 104
meta l4proto udp ct original proto-src { 6881-6889, 51413 } coun ter packets 0 bytes 0 jump mark_cs1
meta l4proto udp ct original proto-dst { 6881-6889, 51413 } coun ter packets 0 bytes 0 jump mark_cs1
meta l4proto tcp ct original proto-dst { 6881-6889, 51413 } coun ter packets 0 bytes 0 jump mark_cs1
meta length < 100 tcp flags ack add @xfst4ack { ct id . ct direc tion limit rate over 4200/second burst 5 packets } counter packets 0 bytes 0 jum p drop995
meta length < 100 tcp flags ack add @fast4ack { ct id . ct direc tion limit rate over 420/second burst 5 packets } counter packets 1 bytes 40 jum p drop95
meta length < 100 tcp flags ack add @med4ack { ct id . ct direct ion limit rate over 42/second burst 5 packets } counter packets 16 bytes 702 jum p drop50
meta length < 100 tcp flags ack add @slow4ack { ct id . ct direc tion limit rate over 42/second burst 5 packets } counter packets 5 bytes 200 jum p drop50
meta l4proto tcp ct bytes < 343750 jump mark_500ms
meta l4proto tcp ct bytes > 6875000 jump mark_10s
meta l4proto tcp ip dscp != cs1 add @slowtcp { ct id . ct direct ion limit rate 150/second burst 150 packets } ip dscp set af42 counter packets 9 2 bytes 28399
meta l4proto tcp ip6 dscp != cs1 add @slowtcp { ct id . ct direc tion limit rate 150/second burst 150 packets } ip6 dscp set af42 counter packets 0 bytes 0
udp dport != { 80, 443 } ip saddr 192.168.1.166 ip dscp set cs5 counter packets 0 bytes 0 comment "ipv4_Game_Console_Outbound"
udp sport != { 80, 443 } ip daddr 192.168.1.166 ip dscp set cs5 counter packets 0 bytes 0 comment "ipv4_Game_Console_Inbound"
meta priority set ip dscp map @priomap counter packets 122 bytes 32758
meta priority set ip6 dscp map @priomap counter packets 0 bytes 0
ct mark set ip dscp | 0x80 counter packets 122 bytes 32758
ct mark set ip6 dscp | 0x80 counter packets 0 bytes 0
oifname "pppoe-wan" jump mark_cs0
}
}
==== Custom Rules Table Status ====
Custom rules table (qosmate_custom) is not active or doesn't exist.
root@OpenWrt:~# service qosmate restart
Stopping service qosmate...
Reloading network service...
Creating the hotplug script.
Configuration file already exists.
Global configuration section already exists.
Enabled option already exists.
Config files have been added to sysupgrade.conf for preservation.
This script prioritizes the UDP packets from / to a set of gaming
machines into a real-time HFSC queue with guaranteed total bandwidth
Based on your settings:
Unfortunately, your service restart output was cut off. Could you please post it again separately?
Your output looks good at first glance.
Whatâs definitely strange, though, is that the 1:11 class is missing on egress. Either it was just an unlucky coincidence because the class hadnât been created yet and you ran the service qosmate status command too quickly or perhaps your PPPoE interface briefly went down and came back up, causing everything to be reinstalled. Or there might actually be a real issue here. The output of a service restart should hopefully shed more light on this.
root@OpenWrt:~# service qosmate restart
Stopping service qosmate...
Reloading network service...
Creating the hotplug script.
Configuration file already exists.
Global configuration section already exists.
Enabled option already exists.
Config files have been added to sysupgrade.conf for preservation.
This script prioritizes the UDP packets from / to a set of gaming
machines into a real-time HFSC queue with guaranteed total bandwidth
Based on your settings:
Game upload guarantee = 600 kbps
Game download guarantee = 4000 kbps
Download direction only works if you install this on a *wired* router
and there is a separate AP wired into your network, because otherwise
there are multiple parallel queues for traffic to leave your router
heading to the LAN.
Based on your link total bandwidth, the **minimum** amount of jitter
you should expect in your network is about:
UP = 42 ms
DOWN = 6 ms
In order to get lower minimum jitter you must upgrade the speed of
your link, no queuing system can help.
Please note for your display rate that:
at 30Hz, one on screen frame lasts: 33.3 ms
at 60Hz, one on screen frame lasts: 16.6 ms
at 144Hz, one on screen frame lasts: 6.9 ms
This means the typical gamer is sensitive to as little as on the order
of 5ms of jitter. To get 5ms minimum jitter you should have bandwidth
in each direction of at least:
7200 kbps
The queue system can ONLY control bandwidth and jitter in the link
between your router and the VERY FIRST device in the ISP
network. Typically you will have 5 to 10 devices between your router
and your gaming server, any of those can have variable delay and ruin
your gaming, and there is NOTHING that your router can do about it.
Applying HFSC queueing discipline.
DONE!
--- Egress (pppoe-wan) ---
qdisc hfsc 1: root refcnt 2 default 13
Sent 0 bytes 0 pkt (dropped 1, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc fq_codel 8068: parent 1:12 limit 10240p flows 1024 quantum 3000 target 9ms interval 128ms memory_limit 21250b ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 806a: parent 1:14 limit 10240p flows 1024 quantum 3000 target 9ms interval 128ms memory_limit 21250b ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 8067: parent 1:11 limit 10240p flows 1024 quantum 3000 target 9ms interval 128ms memory_limit 21250b ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 806b: parent 1:15 limit 10240p flows 1024 quantum 3000 target 9ms interval 128ms memory_limit 21250b ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 8069: parent 1:13 limit 10240p flows 1024 quantum 3000 target 9ms interval 128ms memory_limit 21250b ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc ingress ffff: parent ffff:fff1 ----------------
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
--- Ingress (ifb-pppoe-wan) ---
qdisc hfsc 1: root refcnt 2 default 13
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
qdisc fq_codel 806c: parent 1:11 limit 10240p flows 1024 quantum 3000 target 4ms interval 104ms memory_limit 137500b ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 8070: parent 1:15 limit 10240p flows 1024 quantum 3000 target 4ms interval 104ms memory_limit 137500b ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 806e: parent 1:13 limit 10240p flows 1024 quantum 3000 target 4ms interval 104ms memory_limit 137500b ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 806d: parent 1:12 limit 10240p flows 1024 quantum 3000 target 4ms interval 104ms memory_limit 137500b ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
qdisc fq_codel 806f: parent 1:14 limit 10240p flows 1024 quantum 3000 target 4ms interval 104ms memory_limit 137500b ecn drop_batch 64
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
new_flows_len 0 old_flows_len 0
Automatically including '/usr/share/nftables.d/ruleset-post/dscptag.nft'