I have been using the FlowQueue-CoDel scheduler type successfully for traffic shaping for a few months.
Does anyone know if it is possible to use FlowQueue-CoDel in conjunction with weighted Queues?
I have about 5 Mbits of download bandwidth total to work with, and a Roku box with a fixed IP address that I'd like to prioritize, when it's streaming, to give it all or nearly all of the 5 Mbits. Now the Roku isn't always using 5 Mbits when it's streaming, so I'd like other clients to get whatever bandwidth is left over, or when more is available when the Roku is not using all 5 Mbits.
So the weighted Queue feature seemed to be a perfect fit for what I want, and I can indeed get it to work when using a scheduler type of Weighted Fair Queueing. But when I switch my download pipe to use the scheduler type of FlowQueue-CoDel, the Queue weights seem to be ignored.
So I would like, if possible, to combine the elimination of buffer bloat I get with FQ-CoDel with the weighted queues. Maybe the two are just incompatible, and I have mis-understood something along the way?
Thanks for any insights anyone can provide!
Do WFQ and tick CoDel, should do the same as FQ CoDel
Well, WFQ and ticking the CoDel checkbox on the queue does help a lot, but it doesn't seem to be as good with buffer bloat as using FQ-CoDel as the scheduler type.
I am basing this solely on the buffer bloat score at DSLReports.com/Speedtest:
(http://www.dslreports.com/speedtest/27635084.png)
I usually get a B, sometimes a C, WFQ and the CoDel checkboxes ticked.
With the FQ-CoDel scheduler type, I can get an A every time, but as I explained, right now, the weighting is more important for me.
I'm also just trying to understand whether I am doing something wrong, or maybe if the OpnSense UI is incorrectly leading me to believe the weighting is available to me with FQ-CoDel, when in reality they don't really work together.
I had a chance to look into the source code for how fq_codel is implemented in OpnSense - I believe this is the right source file:
https://github.com/opnsense/src/blob/master/sys/netpfil/ipfw/dn_sched_fq_codel.c
Reviewing the source, there is no mention of weight. A search of the file for 'weight' comes up with no hits.
If I look in the source for the QFQ or WF2Q+ schedulers, there are multiple instances where weight appears in the source code:
https://github.com/opnsense/src/blob/master/sys/netpfil/ipfw/dn_sched_qfq.c
https://github.com/opnsense/src/blob/master/sys/netpfil/ipfw/dn_sched_wf2q.c
Unless I'm missing something, I'd say it's pretty definitive that the fq_codel scheduler in OpnSense doesn't utilize the queue weights.
Did you ever get an answer on this? I'm looking to do something similar with FQ_CoDel.