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.

Reply via email to