Qosify: new package for DSCP marking + cake

Aah yeah I was thinking that but because I also saw the cs0 I was not sure.

For me the ping is good. So it does work in my case. Ok than I know how to look at it. I was not sure because I also saw the cs0 but again. I get it now. I also have low bufferbloat with 0 ms and jitter is 0.4 for upload and download.
So for my isp it does work I guess.

Hi, been using qosify this past week and all seems good. I just had a question about setting my bittorrent traffic to bulk. I use binhexqbittorrentvpn docker inside of unraid and this then connects to ProtonVPN with port forwarding. Do I need to set the port that is being forwarded as the one in qosify settings under bulk? or do i set a certain IP instead as bulk? or perhaps something else completely? thanks

The protonVPN is inside Unraid or OpenWRT?

Does Qosify work with DSCP marking set by Windows via Group Policy editing or can it be made to work with them?

Hi there, tried doing searching but i think im not the best one at it.

What exactly does the "thresh" values represent on qosify-status?

Are they a "bandwidth guarantee" or a "speed limit"? Can I change them, if so, how?

These come from cake, the only way to change them is changing the source code, what thresh means depends on the tin:
Bulk: that is the minimum Bulk traffic is guaranteed (it will soak up any left over capacity)
Best Effort/Video/Voice: this is the maximum above which this tin will not be prioritised above BestEffort.

I have been using Qosify on my EdgeRouter X and would like to know if it is possible to apply the configuration and bandwidth limitation of Qosify only to a specific port or IP.

Summary

config defaults
list defaults /etc/qosify/*.conf
option dscp_icmp +besteffort
option dscp_default_tcp unmarked_traffic
option dscp_default_udp unmarked_traffic

config class unmarked_traffic
option ingress CS7
option egress CS7
option dscp_icmp CS7
option dscp_udp CS7
option prio_max_avg_pkt_len 1256
option dscp_prio CS5
option bulk_trigger_pps 250
option bulk_trigger_timeout 10
option dscp_bulk CS5

config class browsing
option ingress CS4 # Prioridade alta, mas um nível abaixo de CS5 para evitar saturação
option egress CS5 # Alta prioridade para saída, mas não extremo (CS7 é usado apenas para tráfego crítico)
option dscp_prio CS5 # Correspondência com a prioridade de egress para consistência
option prio_max_avg_pkt_len 1200 # Ajuste para pacotes de navegação, valores maiores suportam HTTPS
option qdisc fq_codel # fq_codel é eficiente para tráfego curto como HTTP(S)
option target 5ms # Manter latência baixa para tráfego web
option interval 50ms # Intervalo reduzido para maior responsividade em navegação
option nat yes # Ativar NAT awareness para navegação em rede local
option noack-filter yes # Filtros para reduzir pacotes ACK redundantes
option dns CS5 # DNS com prioridade alta para tempos de resolução rápidos
option ingress-qdisc fq_codel # Combinação consistente com o egress
option egress-qdisc fq_codel # fq_codel para garantir baixa latência de saída
option ack-filter moderate # Filtro de ACK moderado para navegação equilibrada

config class bulk
option ingress CS1
option egress CS1

config class besteffort
option ingress CS0
option egress CS0

config class network_services
option ingress CS2
option egress CS2

config class broadcast_video
option ingress CS3
option egress CS3
option dscp_prio CS4
option qdisc fq_codel
option ingress-qdisc fq_codel
option egress-qdisc fq_codel
option target 5ms
option interval 50ms
option prio_max_avg_pkt_len 1500
option dns CS4

config class gaming
option ingress CS6
option egress CS7
option dscp_prio CS7
option dns CS7
option prio_max_avg_pkt_len 768
option qdisc cake
option target 5ms
option interval 260ms
option nat yes
option small-packet-prio 1
option ingress-qdisc cake
option egress-qdisc cake
option prio 1
option ack-filter moderate
option ingress-options "dual-srchost nat"
option egress-options "dual-dsthost nat"

config class multimedia_conferencing
option ingress AF42
option egress AF42
option prio_max_avg_pkt_len 575
option dscp_prio AF41

config class telephony
option ingress CS6
option egress CS6

config interface wan
option name wan
option disabled 0
option bandwidth_up 9mbit
option bandwidth_down 30mbit
option overhead_type pppoe-ptm
option overhead 8
# defaults:
option ingress 1
option egress 1
option mode diffserv3
option nat 1
option host_isolate 1
option autorate_ingress 0
option ingress_options "dual-dsthost"
option egress_options "dual-srchost wash"
option options "ether-vlan"
option noack-filter no

config device wandev
option disabled 1
option name wan
option bandwidth 100mbit

Any news on getting IPv6 tagging to work properly?

While reading through this thread, I found this old answer of yours.

Would option a) of using dnsmasq to populate the IP addresses behind a domain work with trying to target that set in a fw4 rule?

Tried settings this up in the LuCI interfaces but the nft list sets doesn't seem to contain any set matching the one I just created in dnsmasq. Maybe I missed something here? :confused:

cs0 dscp with cake on qosmate is a night and day difference for me..my games are so smooth and responsive..cod has never felt better

option bandwidth_up 800mbit
option bandwidth_down 800mbit

in this paramters i can use kbit over mbit., qosify script will read kbps over kbit?

My speeds is 510Mbps for Download and 104Mbps for Upload convert this to kbps is 530432 for D and 106496 to U.

What % qosify i use for my speeds (-5%, -10%)

Alot of people seem to be happy with qosmate. I'm using dscpclassify (layer_cake_ct.qos) but qosmate looks to be a bit more advanced, with a GUI and regular updates/improvements.

Does the ebpf marking program introduce additional performance overhead when it's not doing anything?

Cake-mq from kernel 7 just got backported to OpenWrt 25.12-r5.
Any chance we’ll be able to use multi-core CAKE with qosify, either now or later?
Also, big thanks - qosify has been working really well for me.

Hi, would it be possible to add ctinfo support to qosify, or is that not feasible? Thanks.

I created an interface because having to dig around in the router manually was getting old — thanks again @nbd for this amazing project, which is in my opinion the best in terms of performance combined with proper DSCP handling.

===== interface wan: active =====
egress status:
qdisc cake 8013: root refcnt 17 bandwidth 250Mbit diffserv4 dual-srchost nat wash no-ack-filter split-gso rtt 100ms raw overhead 0 memlimit 32Mb
 Sent 837354275 bytes 795162 pkt (dropped 10, overlimits 1246635 requeues 422)
 backlog 0b 0p requeues 422
 memory used: 1938Kb of 32Mb
 capacity estimate: 250Mbit
 min/max network layer size:           42 /    1514
 min/max overhead-adjusted size:       42 /    1514
 active queues:                         0
 average network hdr offset:           14

                   Bulk  Best Effort        Video        Voice
  thresh      15625Kbit      250Mbit      125Mbit    62500Kbit
  target            5ms          5ms          5ms          5ms
  interval        100ms        100ms        100ms        100ms
  pk_delay          0us        173us         51us         17us
  av_delay          0us         69us         13us          5us
  sp_delay          0us          1us          2us          2us
  backlog            0b           0b           0b           0b
  pkts                0       791555         3244          373
  bytes               0    834906087      2423408        39320
  way_inds            0           38            0            0
  way_miss            0          426          427           19
  way_cols            0            0            0            0
  drops               0           10            0            0
  marks               0            0            0            0
  ack_drop            0            0            0            0
  sp_flows            0            1            1            0
  bk_flows            0            1            0            0
  un_flows            0            0            0            0
  max_len             0        58160         1343          619
  quantum           476         1514         1514         1514


ingress status:
qdisc cake 8014: root refcnt 2 bandwidth 250Mbit diffserv4 dual-dsthost nat nowash ingress no-ack-filter split-gso rtt 100ms raw overhead 0 memlimit 32Mb
 Sent 858781004 bytes 703563 pkt (dropped 8615, overlimits 735904 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 9039104b of 32Mb
 capacity estimate: 250Mbit
 min/max network layer size:           32 /    1514
 min/max overhead-adjusted size:       32 /    1514
 active queues:                         0
 average network hdr offset:           14

                   Bulk  Best Effort        Video        Voice
  thresh      15625Kbit      250Mbit      125Mbit    62500Kbit
  target            5ms          5ms          5ms          5ms
  interval        100ms        100ms        100ms        100ms
  pk_delay          0us        227us          0us         30us
  av_delay          0us         75us          0us          5us
  sp_delay          0us          1us          0us          3us
  backlog            0b           0b           0b           0b
  pkts                0       711936            0          242
  bytes               0    871774700            0        47958
  way_inds            0            0            0            0
  way_miss            0          606            0           17
  way_cols            0            0            0            0
  drops               0         8615            0            0
  marks               0            0            0            0
  ack_drop            0            0            0            0
  sp_flows            0            1            0            0
  bk_flows            0            1            0            0
  un_flows            0            0            0            0
  max_len             0        65102            0          564
  quantum           476         1514         1514         1514


root@OpenWrt:~#

hi, would you mind sharing your config pls ?

@Drop do you have a github? would you share the luci config page? looks really good

If anyone is interested, I’ve posted a LuCI app for qosify here:

:backhand_index_pointing_right: https://forum.openwrt.org/t/luci-app-for-qosify-luci-app-qosify/248979?u=choppyc

It adds a basic web UI for configuring qosify instead of editing config files manually.

Still fairly minimal, but usable — feedback and testing welcome :+1: