OPNsense Forum
Archive => 17.7 Legacy Series => Topic started by: marigx on January 01, 2018, 12:17:11 am
-
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.