Any updates on implementing fq_codel
-
Dear all,
is there any new status on this topic, please ?
-
https://forum.pfsense.org/index.php?topic=126637.0
Using since this topic posted, so far — I see no problems using it, even if it not supported officially. Actually, I was thinking about creating bounty for implementing this feature as package, but not sure is it necessary, because Netgate "keep eyes on it" and may be they will implement this feature ::) -
Thank you for your reply !
-
@w0w:
You can enable Codel for Queues in HFSC. I did that. It works for me, browsing is very fast when torrent download at full speed and no bufferbloat also, but shaper certainly needs fine tune and manual bandwidth limiting. So in my case it's HFSC with three queues where only two have codel enabled. Those are "p2p" and "everything else". VoIP, the third queue in HFSC have dedicated bandwidth. Also I have dynamic limiter that set to equalize bandwidth between IP addresses. A little bit complicated, but it works in my case. If fq_codel makes things better and simplifies shaping settings then I give it +1 to be implemented in pfSense.
I know that there is an old topic, but i'm trying to do the same setup. Would you mind sharing screenshots with your setup?
-
@w0w:
You can enable Codel for Queues in HFSC. I did that. It works for me, browsing is very fast when torrent download at full speed and no bufferbloat also, but shaper certainly needs fine tune and manual bandwidth limiting. So in my case it's HFSC with three queues where only two have codel enabled. Those are "p2p" and "everything else". VoIP, the third queue in HFSC have dedicated bandwidth. Also I have dynamic limiter that set to equalize bandwidth between IP addresses. A little bit complicated, but it works in my case. If fq_codel makes things better and simplifies shaping settings then I give it +1 to be implemented in pfSense.
I know that there is an old topic, but i'm trying to do the same setup. Would you mind sharing screenshots with your setup?
I am not using this scheme anymore, I am using FQ_CODEL now https://forum.pfsense.org/index.php?topic=126637.0
-
@w0w:
@w0w:
You can enable Codel for Queues in HFSC. I did that. It works for me, browsing is very fast when torrent download at full speed and no bufferbloat also, but shaper certainly needs fine tune and manual bandwidth limiting. So in my case it's HFSC with three queues where only two have codel enabled. Those are "p2p" and "everything else". VoIP, the third queue in HFSC have dedicated bandwidth. Also I have dynamic limiter that set to equalize bandwidth between IP addresses. A little bit complicated, but it works in my case. If fq_codel makes things better and simplifies shaping settings then I give it +1 to be implemented in pfSense.
I know that there is an old topic, but i'm trying to do the same setup. Would you mind sharing screenshots with your setup?
I am not using this scheme anymore, I am using FQ_CODEL now https://forum.pfsense.org/index.php?topic=126637.0
Maybe by chance have you kept your old settings?
-
Let me see tomorrow. I'll check some backups and let you know.
-
It was something like that, you must use floating rules with pass and quick apply option. WAN/LAN is using the same shaper parameters as I have symmetrical bandwidth.
-
@w0w:
It was something like that, you must use floating rules with pass and quick apply option. WAN/LAN is using the same shaper parameters as I have symmetrical bandwidth.
Thank you very much for your feedback! My main concern is how did you implement Also I have dynamic limiter that set to equalize bandwidth between IP addresses
I have setup HFSC and it works good, but the bandwidth between devices when the traffic goes to the same queue, is not shared evenly.
I have setup my floating rules with Action: Match and Quick Pass for assigning traffic to HFSC queues and it is assigned perfectly. I have also setup a firewall rule at LAN interface, for all traffic except the traffic in my local network, and i assign the traffic to In/Out pipes in order to share the bandwidth evenly between devices.
When the LAN rule is active the bandwidth is shared evenly between devices, but the traffic shapping is not working as it should. I have setup my torrents queue to have maximum bandwidth 50kb/s when an HTTP/FTP download occurs at the same time. When i start a torrent download from one computer and an HTTP download from another, the bandwidth is shared evenly between the computers, instead of limiting the torrents to 50kb/s and letting HTTP to download at full speed.
When i turn off the LAN rule, the torrents are almost instantly limited to 50kb/s. I have attached screenshots for the Pipe settings. Do you have a suggestion for combining correctly HFSC queues and Pipes, in order to share evenly bandwidth between devices and at the same time my HFSC queues do their job according to my setup?
-
I have used https://forum.pfsense.org/index.php?topic=63531.0 this guide for evenly sharing.
Limiters is not the right thing you are looking for, you should do proper traffic sorting on shaper side, ex using HFSC and your torrent and http download must not share one queue, then you can set link share percents or bandwidth limits under service curve, for example setting 1% for torrent queue [qlow and qacklow in my sample setup] will limit this queue to 1% of overall bandwidth if any other queue wants full speed at the same time.
-
@w0w:
I have used https://forum.pfsense.org/index.php?topic=63531.0 this guide for evenly sharing.
Limiters is not the right thing you are looking for, you should do proper traffic sorting on shaper side, ex using HFSC and your torrent and http download must not share one queue, then you can set link share percents or bandwidth limits under service curve, for example setting 1% for torrent queue [qlow and qacklow in my sample setup] will limit this queue to 1% of overall bandwidth if any other queue wants full speed at the same time.
Hello,
If by using HFSC and your torrent and http download must not share one queue you mean to have queue qOthersHigh for http and qP2P for my torrents, then my setup is like that.
In my qP2P queue i have set 50Kb at Linkshare, so to limit torrents to 50kb/sec when other queue with more bandwidth requests it.
My traffic is assigned to queues with Floating Rules.Also at the queues i have not enabled any option like RED or ECN. I have enabled Codec at qOthersHigh and at qDefault (traffic that does not match any floating rule is assigned there).
Let's say i download some torrents from one computer and a file from HTTP at another computer:
If i don't enable the rule at LAN interface, which assigns the traffic to the Limiters (in order to share bandwidth evenly between devices), then the torrent is throttled almost perfectly.
If i enable the LAN rule, then for some seconds the bandwidth is throttled down to the limit set at qP2P queue and for some other seconds is shared evenly between devices. So the qP2P limit is not being applied all the time.
If i do not enable the LAN rule, i download 1 HTTP file from one computer and more than one HTTP files from another (both downloads belong to the same queue) then the bandwidth is not evenly shared between the two computers.
So i'm looking for a setup that does the following:
-
Correctly applying any speed limit set to a queue
-
Evenly share the bandwidth between devices, for downloads that belong to the same queue
-
-
Since I don't use this setup anymore I can not comment problems you are facing now. I just know that shaper working on pf side and limiter is working on ipfw side, since it's two different firewalls there may be conflicts in their work.
I suggest you to create new topic in https://forum.pfsense.org/index.php?board=26.0