Limiter and weight 2.4.4 rc
I am trying to make a guest vlan get full speed but when land is using bandwidth vlan gets example 30 percent of bandwidth but when I test this out the bandwidth split evenly. This is what I am doing
Create a limiter Download
Create a child limiter
So choosing the child limiter with 20 weight in the guest firewall rule vlan the vlan still can split the bandwidth evenly with the LAN. Is there something wrong with my rules?
FQ_codel does not allow priorities/weights, you should use QFQ scheduler + Codel queues.
This is interesting - I thought I had fq_codel working with weighted queues when I was using it prior to 2.4.4 (even ran some tests back when I first set it up). But it could very well be that @bafonso is correct and it does not work anymore.
One thing you could try - if you remove the masks from the queues and limiters, do you see any difference?
@bafonso Oh, that's interesting! I did not know.
So Codel/QFQ is the best option to have traffic limiters with different weighted child pipes?
Fq_codel has never had weights. I did check the freebsd src code to make sure about their implementation and sure enough, there are no weights or priorities.
I have qfq working ok for me. I would advise you testing different schedulers and see how they work for you. It is definitely a good start point.. :)
If you are interested in bandwidth guarantees per subnet (vs. per host), weighted child queues present a good option. In your case, I would setup a up and down limiter with appropriate bandwidth, choosing QFQ as the scheduler in each. Then create two child queues underneath each limiter. Make sure each each queue gets the appropriate weight (80 or 20). Finally enable Codel as well on each queue to help keep bufferbloat under control. Run some tests to make sure you are getting the desired bandwidth guarantees.
Also, a good reference link to check out:
Hope this helps.
"Weight" in limiter is broken after 2.4.X.
I've tested similar setup in 2.3.5 - and it works perfectly.
Hope team will fix it.
@teymur_bagirov Can you layout how you have your limiters and queues configured and I will try and recreate the issue?
I have 2.3.4, 2.3.5 and two latest 2.4.4 virtual machines in Hyper-v
All of them have limiters:
DLtest with 2000 kbit/s bandwidth and 2 queues
DLtestGuest with mask "Destination addresses" and Weight 2
DLtestMain with mask "Destination addresses" and Weight 8
ULtest with 2000 kbit/s bandwidth and 2 queues
ULtestGuest with mask "Source addresses" and Weight 2
ULtestMain with mask "Source addresses" and Weight 8
Two different Rules for two test PCs with corresponding IN/OUT Pipe:
I download ubuntu ISO and these 2 Downloads correctly share bandwidth 1 to 4 (the same as 2 to 8), but it happens only on 2.3.X pfsenses. The Pfsenses 2.4.4 always try to share bandwidth 50/50 ignoring "Weights" in queues.
In my lab I replicated your config but changed the bandwidth to 50Mbps, used QFQ as the scheduler and DropTail as the AQM for the pipe and queues. In the graph below, netperf2 is using the queue with weight 2 and netperf3 is using queue with weight 8.
Looks like the bug 8973 notes also mention an issue with QFQ producing "kernel qfq_dequeue BUG/* non-workconserving leaf */" syslogs and crashing. I'm trying to confirm in my lab if this is QFQ when used with any AQM or just with CoDel. The recommendation is to use the Round Robin scheduler on the limiter and CoDel AQM on the queues.
It seems like 2.4.4-RELEASE-p1 now is ok with limiters.
The only thing i changed: Scheduler from FIFO to QFQ.
Happy New Year!