Help me configure my SQM for videoconferencing and gaming

@ segal72 it's normal since I have that the washup is only on one side as it

looks

Capture d’écran 2021-02-07 à 20.03.14

i use wan eth1 etho lan on only my ps4 and vlan0 for wifi on my other peripherique for best bufferbloat

config queue 'eth1'
        option interface 'eth1'
        option qdisc 'cake'
        option script 'piece_of_cake.qos'
        option ingress_ecn 'ECN'
        option enabled '1'
        option download '0'
        option upload '16000'
        option debug_logging '0'
        option verbosity '5'
        option qdisc_advanced '1'
        option qdisc_really_really_advanced '1'
        option linklayer 'ethernet'
        option overhead '44'
        option linklayer_advanced '1'
        option tcMTU '2047'
        option tcTSIZE '128'
        option tcMPU '0'
        option linklayer_adaptation_mechanism 'cake'
        option squash_dscp '0'
        option squash_ingress '0'
        option egress_ecn 'NOECN'
        option eqdisc_opts 'nat dual-srchost'

config queue
        option enabled '1'
        option download '0'
        option upload '56000'
        option debug_logging '0'
        option verbosity '5'
        option qdisc 'cake'
        option script 'piece_of_cake.qos'
        option qdisc_advanced '1'
        option ingress_ecn 'ECN'
        option egress_ecn 'NOECN'
        option qdisc_really_really_advanced '1'
        option linklayer 'ethernet'
        option overhead '44'
        option linklayer_advanced '1'
        option tcMTU '2047'
        option tcTSIZE '128'
        option tcMPU '0'
        option linklayer_adaptation_mechanism 'cake'
        option interface 'eth0'
        option squash_dscp '0'
        option squash_ingress '0'
        option iqdisc_opts 'nat dual-dsthost ingress'

config queue
        option enabled '1'
        option download '0'
        option upload '56000'
        option debug_logging '0'
        option verbosity '5'
        option qdisc 'cake'
        option script 'piece_of_cake.qos'
        option qdisc_advanced '1'
        option ingress_ecn 'ECN'
        option egress_ecn 'NOECN'
        option qdisc_really_really_advanced '1'
        option linklayer 'ethernet'
        option overhead '44'
        option linklayer_advanced '1'
        option tcMTU '2047'
        option tcTSIZE '128'
        option tcMPU '0'
        option linklayer_adaptation_mechanism 'cake'
        option interface 'wlan0'
        option squash_dscp '0'
        option squash_ingress '0'
        option iqdisc_opts 'nat dual-dsthost ingress'

This is the same as i use.

why what you use the iqdisc_opts if you have set sqm download to zero

hello maybe an error of my part sorry you sugger for the lan

like this

Capture d’écran 2021-02-07 à 20.32.54

like this ? to replace the lan nat dual ingress...

config queue 'eth1'
        option interface 'eth1'
        option qdisc 'cake'
        option script 'piece_of_cake.qos'
        option ingress_ecn 'ECN'
        option enabled '1'
        option download '0'
        option upload '16000'
        option debug_logging '0'
        option verbosity '5'
        option qdisc_advanced '1'
        option qdisc_really_really_advanced '1'
        option linklayer 'ethernet'
        option overhead '44'
        option linklayer_advanced '1'
        option tcMTU '2047'
        option tcTSIZE '128'
        option tcMPU '0'
        option linklayer_adaptation_mechanism 'cake'
        option squash_dscp '0'
        option squash_ingress '0'
        option egress_ecn 'NOECN'
        option eqdisc_opts 'nat dual-srchost'

config queue
        option enabled '1'
        option download '0'
        option upload '56000'
        option debug_logging '0'
        option verbosity '5'
        option qdisc 'cake'
        option script 'piece_of_cake.qos'
        option qdisc_advanced '1'
        option ingress_ecn 'ECN'
        option egress_ecn 'NOECN'
        option qdisc_really_really_advanced '1'
        option linklayer 'ethernet'
        option overhead '44'
        option linklayer_advanced '1'
        option tcMTU '2047'
        option tcTSIZE '128'
        option tcMPU '0'
        option linklayer_adaptation_mechanism 'cake'
        option interface 'eth0'
        option squash_dscp '0'
        option squash_ingress '0'
        option eqdisc_opts 'nat dual-srchost'

config queue
        option enabled '1'
        option download '0'
        option upload '56000'
        option debug_logging '0'
        option verbosity '5'
        option qdisc 'cake'
        option script 'piece_of_cake.qos'
        option qdisc_advanced '1'
        option ingress_ecn 'ECN'
        option egress_ecn 'NOECN'
        option qdisc_really_really_advanced '1'
        option linklayer 'ethernet'
        option overhead '44'
        option linklayer_advanced '1'
        option tcMTU '2047'
        option tcTSIZE '128'
        option tcMPU '0'
        option linklayer_adaptation_mechanism 'cake'
        option interface 'wlan0'
        option squash_dscp '0'
        option squash_ingress '0'
        option eqdisc_opts 'nat dual-srchost'

In my WAN use "nat dual-srchost" only on egress
In my LAN use "nat dual-dsthost ingress" only on egress

The the donw/up on WAN will be inverted on LAN

set this to "64" and test

1 Like

ok seems goods now thanks man :wink: sorry for my error

the firewall is like this

root@OpenWrt:~# cat /etc/config/sqm

config queue 'eth1'
        option interface 'eth1'
        option qdisc 'cake'
        option script 'piece_of_cake.qos'
        option ingress_ecn 'ECN'
        option enabled '1'
        option download '0'
        option upload '16000'
        option debug_logging '0'
        option verbosity '5'
        option qdisc_advanced '1'
        option qdisc_really_really_advanced '1'
        option linklayer 'ethernet'
        option overhead '44'
        option linklayer_advanced '1'
        option tcMTU '2047'
        option tcTSIZE '128'
        option tcMPU '0'
        option linklayer_adaptation_mechanism 'cake'
        option squash_dscp '0'
        option squash_ingress '0'
        option egress_ecn 'NOECN'
        option eqdisc_opts 'nat dual-srchost'

config queue
        option enabled '1'
        option download '0'
        option upload '56000'
        option debug_logging '0'
        option verbosity '5'
        option qdisc 'cake'
        option script 'piece_of_cake.qos'
        option qdisc_advanced '1'
        option ingress_ecn 'ECN'
        option egress_ecn 'NOECN'
        option qdisc_really_really_advanced '1'
        option linklayer 'ethernet'
        option overhead '44'
        option linklayer_advanced '1'
        option tcMTU '2047'
        option tcTSIZE '128'
        option tcMPU '0'
        option linklayer_adaptation_mechanism 'cake'
        option interface 'eth0'
        option squash_dscp '0'
        option squash_ingress '0'
        option eqdisc_opts 'nat dual-dsthost ingress'

config queue
        option enabled '1'
        option download '0'
        option upload '56000'
        option debug_logging '0'
        option verbosity '5'
        option qdisc 'cake'
        option script 'piece_of_cake.qos'
        option qdisc_advanced '1'
        option ingress_ecn 'ECN'
        option egress_ecn 'NOECN'
        option qdisc_really_really_advanced '1'
        option linklayer 'ethernet'
        option overhead '44'
        option linklayer_advanced '1'
        option tcMTU '2047'
        option tcTSIZE '128'
        option tcMPU '0'
        option linklayer_adaptation_mechanism 'cake'
        option interface 'wlan0'
        option squash_dscp '0'
        option squash_ingress '0'
        option eqdisc_opts 'nat dual-dsthost ingress'
1 Like

run some games and test the changes,

1 Like

@dlakelan @segal_72

I think you out loke that

It's just you think because i read the response of dlakelan more up

Yes i use the same hardware and software and settings , my question is : what is the must important , send ou receive date in real-time ? I ask this because is si easy to kill me but difficult for me to kill .. if I select and filter in wireshark dest serveur to my source ip I have CS4 but if I select source ip to server I have CS0 ...

So lets clarify... i use sqm on wan and lan and use "option upload" to set upload-speed on wan-sqm and use "option upload" to set download-speed on lan-sqm.
All the 2 "option download" are set to zero, so there is any necessity to set "iqdisc_opts"

Suppose you have eth0.1 as lan and eth0.2 as wan. If you capture on eth0.1 you will see dscp tags on server packets. If you capture on eth0.2 you will see dscp tags on client packets.

Both directions have dscp tags but not at the same interface

For a scheme with only egress qdiscs both directions will be prioritized because at the time of transmit through the queue they will have the DSCP tags.

1 Like

we have eth1 wan and eth0.1 = lan

thanks for clarification :slight_smile:

for me my gameplay is sensationel with just ingress and ack filter

not nat dual dsthost

or nat dual srchost

The nat keyword really is only needed for IPv4 and when there is an SQM instance on the wan interface and only if you actually want to use either the dsthost, srchost, dual-srchost or dual-dsthost isolation modes. These basically allow you to configure equitable fair sharing between internal IP addresses, often pretty much what people want, but ONLY IF there is no need for targeted unfairness (e.g. on a slow link you might want to give your game console more than its fair share so that gaming over ADSL keeps working well). Hope that helps.

1 Like

just to understand the path taken by our flows, let's imagine that I am connecting to a server, my game data will leave the server, and arrive at my isp, then they will reach my wan port which will distribute to the corresponding lan .. is This correct, if so, I imagine the return path will be reversed .. according to my understanding, game data arriving in real time will facilitate my death on COD on the contrary, if my game data does not arrive in real time to the server then I'm going to have a lot of difficulty killing .. I understood correctly or not at all ???

@dlakelan @moeller0 this is exactly what I want to do my connection is adsl
So I have to put everything to redirect to his console as I suggest dlakelan to wan eth1 ingress and ack-filter
and at lan eth0.1 the same ingress in the first box and ack-filter in the second box?

because in warzone my friends have sudden peaks at 250ms see 300ms in what I don't have with my vdsl2 connection

I think you mostly understood. So let's imagine you use eth1 on WAN and eth0.1 on LAN like @Dopam-IT_1987

A packet comes from ISP to eth1, if you capture on eth1 it has CS0... Then goes through iptables, it gets CS4, then goes to egress of eth0.1 and it has CS4 and goes in high priority through Cake qdisc.

Now your response packet, arrives at eth0.1 has CS0... Goes through iptables gets CS4. Arrives at qdisc of eth1, goes in high priority tin in cake.

So you see if you capture on eth0.1 you see your PS4 has CS0 and server has CS4...

If you capture on eth1 then your PS4 has CS4 but server has CS0...

Yet at the time they hit cake, both directions have correct CS4 tag.

2 Likes

The keyword i set in the "iqdisq_opts" Will work if i have set "option download" at zero in my 2 sqm's
That is my question.

My setup is diferent as @Dopam-IT_1987, i only use my router for wired devices and a ap to wireless devices, in a same network.

1 Like

No, the iqdisq_opts is applied to the ingress or "download" SQM instance (behind an IFB), for an egress SQM instance only the eqdisq_opts will be evaluated. So setting 'option download 0' will make SQM ignore what ever text is in iqdisq_opts.
But effectively the egress side of the second SQM instance on the LAN interface will deal with traffic from the internet, and hence all keywords intended for traffic from the internet (ingress and/or dual-dsthost) need to be placed in the eqdisq_opts of the second shaper (and that shaper's option download should be set to zero as well, to avoid the IFB and the fact that iptables will not run before an IFB).

1 Like

@Dopam-IT_1987 can you post the iptables rules you are using?

Thanks :v:

1 Like

I wonder about the "ingress" keyword. If done correctly (set the speed right), the egress of the LAN is the bottleneck by design. I'm not sure what ingress does, but should it be used if you're doing egress on the LAN as your "download" shaper? dual-dsthost is obviously still relevant if you want the per-ip-fairness