Nft qos how to use

I install luci-app-nft-qos and nft-qos and i use dynamic limit type.
I uninstall SQM....i think i can't use both of them at the same time..i am wrong?
So with nft-qos i have bufferbloat...how can i have same results like sqm with piece_of_cake??My config is...

 root@OpenWrt:~# cat /tmp/qos.nft
    #!/usr/sbin/nft -f
    Copyright (C) 2018 rosysong@rosinson.com

    table inet nft-qos-dynamic {
    chain upload {
    type filter hook prerouting priority 0; policy accept;
    ip saddr 192.168.1.0/24 limit rate over 41 kbytes/second drop
    }
    chain download {
    type filter hook postrouting priority 0; policy accept;
    ip daddr 192.168.1.0/24 limit rate over 750 kbytes/second drop
    }
    }
    table netdev nft-qos-priority {
    chain filter {
    type filter hook ingress device br-lan priority 0; policy accept;
    udp dport { 30000-45000 } accept
    udp dport { 3074,3478-3479,3658,10070 } accept
    tcp dport { 1935,3478-3480 } accept
    tcp dport { 80,443,465,983,1935,3478-3480,5223,10070-10080 } accept
    tcp dport { https,http,dns } accept
    udp dport { https,http,dns } accept
    }
    }

At first netdev takes care both for download and upload right?
Then can i attach different parameters in this or i must completely disable iptables and install nft modules?
For example ...in this udp dport { 30000-45000 } accept can i add

udp dport { 30000-45000 } udp length { 0-512 } accept
To catch packets 0-512 bytes?

To understand ..i have used gargoyle firmware to take care of bufferbloat i have created 3 classes.
1 with etc. 30% bandwidth
2 with etc. 60% bandwidth
3 with etc. 10% bandwidth

Then i create 1 rule...etc udp port 30000-45000 maximum packet length 512 and attach it in 1 class.
Then one rule etc. maximum packet length 512 for every other device in network.
Default class was 3.
So with this set up maximum packet length 512 in every rule i can take care of bufferbloat.

For "extreme" gaming conditions i create a rule ..
udp port 30000-45000 maximum packet length 128 to 1 class.
udp port 30000-45000 maximum packet length 512 to 2 class.

For "extreme" gaming conditions i create a rule ..
udp port 30000-45000 maximum packet length 128 to 1 class.
udp port 30000-45000 maximum packet length 512 to 2 class.

Something similar to do in nft qos?

I can't use script with DSCP because it marks packets in diffserv4....and diffserv4 in sqm for priority has only 25% bandwidth .
My speeds are only 24Mbps download and 1Mbps upload...
True speeds are about 18Mbps download and 850kbps for upload.
As you can see are very little especially in upload.
Some photos to have an idea how is in gargoyle to understand it if you haven't used it.


just as example.

Hi. Sorry bumping this old thread, but I'm interested to know if you have any update on this.

Which is better "nft-qos" or "sqm qos", which consumes less router resources? Can they both be used at the same time?

I'm interested to know if you have any update on this

Did anyone managed to understand SqM QoS over nfTables , becouse i'am getting really confused arround here. When i setup upload speed -> download is set , and other way arroud sometimes.
Is this like a formula or something
Check this out https://streamable.com/neaz6o

Anyone have any knowledge or experience here?
Can you use both nft_qos and sqm?