Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 May 2007 09:37:32 -0400
From:      "Lan Tran" <llt@recol.com>
To:        "Jeremy Tregunna" <info@plot.uz>
Cc:        freebsd-isp@freebsd.org
Subject:   Re: pf+altq for bandwidth management
Message-ID:  <003601c79888$85bd0500$d101010a@recol.us>
References:  <008e01c797cf$8eecda60$d101010a@recol.us> <4A5057D3-3AF7-4E3E-8165-4B821FCB0E1A@blurgle.ca>

next in thread | previous in thread | raw e-mail | index | archive | help

----- Original Message ----- 
From: "Jeremy Tregunna" <info@plot.uz>
To: "Lan Tran" <llt@recol.com>
Cc: <freebsd-isp@freebsd.org>
Sent: Wednesday, May 16, 2007 1:21 PM
Subject: Re: pf+altq for bandwidth management


> On 16-May-07, at 11:33 AM, Lan Tran wrote:
>
>> Hello,
>>
>> Is pf and altq a right combo for bandwidth limiting?  What I'm  trying to 
>> do is limit each IP or block of IPs to predefined  bandwidth.  I'm not 
>> doing traffic shaping, just wanting to prevent  servers from hogging all 
>> the bandwidth.
>>
>> My setup is as follow:
>> LAN {test server} -> xl1 {FreeBSD} xl0 -> router -> net
>> xl0 and xl1 are functioning as a bridge.  kernel has pf and altq 
>> compiled.
>>
>> pf.conf:
>> ext_if = "xl0"
>> int_if = "xl1"
>> pc = "any"
>> set loginterface $ext_if
>>
>> # to net
>> altq on $ext_if cbq bandwidth 100Mb queue { std_ext, test_ext }
>> queue std_ext bandwidth 3Mb qlimit 1000 priority 5 cbq(default red  ecn)
>> queue test_ext bandwidth 2Mb priority 1 cbq(red ecn)
>>
>> pass out on $ext_if from $pc to any keep state queue test_ext
>> ---
>> The problem I'm having is that all outbound traffic from "test  server" 
>> always shows around 3Mb instead of 2Mb per queue test_ext  ruleset.  What 
>> am I missing?
>
> I've noticed the best precision for bandwidth limiting on cheap cards 
> like realtek's (provided of course, the particular rl(4) card you're 
> using is supported). Cards like fxp(4) and xl(4) I've not had great  luck 
> with getting them limited properly (always above or below the  target)).
>
> --
> Jeremy Tregunna
Jeremy,

Thanks for the input on types of card.  It seems the "default" cbq rule is 
getting hit instead of the expected ruleset.  If I change queue test_ext 
bandwidth 2Mb priority 1 cbq(red ecn) to queue test_ext bandwidth 2Mb 
priority 1 cbq(red ecn default), I get the rate I want.  But this causes 
every rule to be matched to 2Mb.  Any ideas?

LT




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?003601c79888$85bd0500$d101010a>