Putting packets in a queue then timing when they should go out based off of a priority algorithm can help maintain consistency. This helps out more when a network tends to struggle getting bandwidth. As when a Queue in the gateway builds up it can create what is called Bufferbloat where there is so many things in the buffer it can slow down packets that have more urgency to get out. Such as Video, Voice Calls, and Online Gaming.
I have a Gigabit connection at home so I don’t need to worry that much about setting up a Packet Queue since its very close to a 1:1 pipe. However I still want to prioritize my voice traffic and online gaming traffic. When I setup the packet queue in PfSense with recommended limiters and other settings I get very strange traceroute results.
Looks lke other people have reported this issue in forums and in pfsense’s bug tracker.
https://redmine.pfsense.org/issues/9263
I had a suspicion recently that maybe it was somehow hardware related. So I decided to run some tests to see.
So to start with I’m running a traceroute from a virtual machine that is behind my Netgate 1100 pfSense+ that is behind the Generic i5 Fanless PC also running pfSense which then goes through NAT to the Internet. So the lab is behind double NAT.
Test 1: No QoS, Double NAT.
Test 2: QoS on Upstream Router, No QoS on Netgate 1100, Double NAT.
Test 3: No QoS on Upstream, QoS on Netgate 1100, Double NAT
On Test 3 where QoS is on. You can see the ping latency is nearly double which is terrible. I feel like I’m doing something wrong with this setup, but I was just following pfsense’s guidelines on the setup so I’m not sure.
QoS ON
QoS OFF
Disabling the Queue but keeping just the floating rule and limiter still shows the weird traceroute, but without the double latency.
Disabling the limiters
Finally found a way to enable a Queue but without the weird traceroute results / double latency. It looks like the pfSense limiter is what causes it. Doesn’t matter if you are on your own hardware or netgate hardware.
Add in a basic interface traffic shaper and no more weird issues, but you still get to use the easy codel.
Went from 16ms to 13ms in a simple estimate on speedtest.net; however, your mileage may vary.