How would I configure SQM setting?

I do have SQM setup on archer c7 v2 and it's working . Latency stays low, but I feel like there is more i can play around with. What I'm looking for is when using cake/layer_cake , on the download how do I switch from the default best effort setting , to using diffserv on the download side as it is on upload. I know it's a TC command but can't find again the documentation I seen long ago to change it. Just point me in a direction. Thanks.

Upstream sources (I believe) at:

Have a look at the GUI ( in sqm's Queue Discipline tab. Once you check the checkbox labeled "Show and Use Advanced Configuration. Advanced options will only be used as long as this box is checked." it will reveal among others two fields labeled:
"Squash DSCP on inbound packets (ingress):" and "Ignore DSCP on ingress:". The first instructs SQM to re-map all DSCPs to zero after ingress (SQUASH) or leave them as they arrive from upstream (DO NOT SQUASH). The second fie;d will either make the ingress cake instance use best effort (Ignore) or default to the diffserv3 scheme (Allow).
I hope this helps...

Best Regards

I did not realize you could use more than one advanced option in the field where nat-dualhost would go. I was trying to sort out the command to add via SSH cli. Will try adding the diffserv option later today via luci gui or will use SCP and change actual config files , thanks.I believe I may just need to read up more on the TC Linux commands that are used to config SQM.

Well the content of that field is passed onto the qdisc without any checking, so beware. I also note that "nat dual-srchost" or "nat dual-dsthost" are already two options, requesting "nat-dualhost" will result in a too silent failure to instantiate sqm.

you could for example run:
tc qdisc add cake help to get a quick overview over the arguments supported by your version of tc for the cake qdisc:

root@router:~# tc qdisc add cake help
Usage: ... cake [ bandwidth RATE | unlimited* | autorate-ingress ]
                [ rtt TIME | datacentre | lan | metro | regional |
                  internet* | oceanic | satellite | interplanetary ]
                [ besteffort | diffserv8 | diffserv4 | diffserv3* ]
                [ flowblind | srchost | dsthost | hosts | flows |
                  dual-srchost | dual-dsthost | triple-isolate* ]
                [ nat | nonat* ]
                [ wash | nowash* ]
                [ split-gso* | no-split-gso ]
                [ ack-filter | ack-filter-aggressive | no-ack-filter* ]
                [ memlimit LIMIT ]
                [ ptm | atm | noatm* ] [ overhead N | conservative | raw* ]
                [ mpu N ] [ ingress | egress* ]
                (* marks defaults)

The cake man page will expand on this terse information, but is not part of openwrt...

Good work that seems like the info I was looking for .I know the defaults are 99% fine for most use cases ,but who doesn't like trying to break/fix things and learn in the process. This is all quite interesting stuff.