On 5/11/06, Damian Gerow <[EMAIL PROTECTED]> wrote:
I'm not interested in bandwidth limitations, so it looks like priq is likely my
best bet.
[...]
Then I create a queue with a bandwidth limit of 700Kbps.
The man page is a little vague on this point
"The priq scheduler does not support band-width specification."
huh?
Use cbq if you want to throttle bandwidth to a limit, something like:
altq on $ext_if cbq bandwidth $ext_bw queue \
{ q_ack_dns, q_fast, q_std, q_slow }
# High port traffic, public services, p2p
queue q_slow bandwidth 5% priority 0 cbq(borrow)
# General tcp, udp, and icmp
queue q_std bandwidth 20% priority 1 cbq(default, borrow)
# Private and common services
queue q_fast bandwidth 25% priority 2 cbq(borrow)
# DNS requests and ACKs
queue q_ack_dns bandwidth 50% priority 3 cbq(borrow)
You need to use cbq. Just do as I did above and allow all the child
queues to borrow from the root queue, so q_slow, for instance, may be
limited to a mere 1K/s, but only if a higher priority queue is using
all of the bandwidth (scp transfer, for instance), otherwise it will
borrow from the root queue (376Kb/s in my case)
make sure you set queue on pass out rules as well as pass in rules.
look at pfctl -vvs queue to measure your queues' thoroughput
my full pf.nat+queueing.conf here:
http://cvs.1984.ws/cgi-bin/cvsweb/pf/pf.nat%2bqueuing.conf?rev=1.1&content-type=text/x-cvsweb-markup
many more here: https://solarflux.org/pf/
you can search in a manpage using /
or use the online manpage and your browser's find
search for keyword 'bandwidth', and you would have quickly found the
line that states priq scheduler does not support bandwidth
specification.