pf traffic shaping and perfomance

Luke Dean LukeD at
Wed Apr 23 19:40:20 UTC 2008

On Wed, 23 Apr 2008, Zbigniew Szalbot wrote:

> Hello,
> I would like to implement traffic shaping using pf. I know I need to
> recompile kernel to be able to achieve this but I have a more general
> question. I used to have pf with traffic shaping on a Pentium III 866
> before and as soon as I activated it, the http response of the box was
> noticably slower. Here are the defs I used then:
> #altq on $ext_if cbq bandwidth 512Kb queue { def, smtp, udp, http, \
> #ssh, icmp }
> #queue def bandwidth 13% cbq(default borrow red)
> #queue smtp bandwidth 25% cbq(borrow red) priority 7
> #queue udp bandwidth 10% cbq(borrow red)
> #queue http bandwidth 40% cbq(borrow red)
> #queue ssh bandwidth 10% cbq(borrow red)
> ##{ ssh_interactive, ssh_bulk }
> ##queue ssh_interactive priority 7
> #queue ssh_bulk priority 0
> #queue icmp bandwidth 2% cbq
> It is quite possible that I misconfigured the shaping (as seen above). What
> would be suggested traffic shaping rules to allow smooth mail operation
> (smtp taking up to 40% of allowed bandwidth) and http responses?
> If that matters, uname -v
> FreeBSD 7.0-RELEASE #0
> Many thanks in advance!

I had the same problem with class-based queueing when I tried this.  I 
suspect that the 512Kb in your initial queue definition is the limiting 
factor.  I never did get it to work like I expected it to, however, so 
maybe I just don't understand it.

Eventually I realized that I didn't actually want to chop up my bandwidth 
like this.  What I really wanted to do was simply prioritize the traffic. 
The most important applications get first shot at the bandwidth, and the 
less important applications get choked when they need to be.  I switched 
to priority queueing and I've been very happy with it.

I'm sorry I can't help more with cbq, but unless you are able to make an 
accurate guess about how much bandwidth each class will really need to be 
using constantly, I think you'll find that you're reserving bandwidth 
unnecessarily.  If your goal really is to cut down on your bandwidth 
usage, then please disregard this opinion.

More information about the freebsd-questions mailing list