Hi,
I've been following the various SQM topics on the forum for a fair while and created my own set of DSCP marking scripts using a combination of iptables rules and a daemon which parses the socket output of netifyd and sets connmarks for detected flows according to a set of configurable DSCP classification rules (I'll look to share these with the community if people are interested).
Recently I've been testing Xbox Cloud Gaming and found that it is incredibly sensitive to any packet drops, with even 1-3 causing significant on-screen tearing.
I suppose this behaviour is somewhat expected given the UDP connection's real-time and bursty nature (the video tears and artefacts whenever the camera view changes significantly, which causes a spike in data transmission).
Has anybody else encountered similar issues with packet loss sensitive connections and identified a solution that could play nicely with SQM?
My setup has a cake qdisc configured on the wan interface's egress, and an ingress cake qdisc configured on the lan interface's egress.
The wan interface itself can sustain a rate of ~20 mbps, and the ingress bandwidth is set to 15 mbps.
Following testing with each of cake's diffserv schemes (including besteffort), and with classifying the stream packets in different tins, I've found that the only way I can reliably prevent this behaviour is to disable the ingress qdisc entirely, at which point the stream bandwidth tends to peak at ~12 mbps and has no artefacts.
A congested link without SQM enabled does not appear to cause the same issue, i.e. downloading in parallel to the stream results in a reduced video quality, but no tearing or artefacts.
This is what leads me to the conclusion that the cake qdisc packet drops are the root cause here, since the stream happily adapts to a congested but 'non-lossy' link by lowering the stream bitrate.
I'm wondering whether there's a way to allow the marked stream connections to bypass the qdisc entirely, or if a tin could be tweaked to buffer more, but not drop packets?
Keen to hear the community's thoughts and ideas, particularly with game streaming services receiving a big push into the mainstream.
Thanks,