Sharing link / PF ALTQ

Eduardo Meyer dudu.meyer at gmail.com
Tue Sep 26 15:25:21 PDT 2006


Hello,

I am new to pf/altq, and I am looking for a way to share link between
users with different sort of priority usage but that would share the
available bandwidth as well as the the not available bandwith. Ok,
confusing. Ill try to make it clear, with dummynet I can do

queue 10 all from table(1) to any out
queue 11 all from any to table(1) in
queue 20 all from table(2) to any out
queue 21 all from any to table(2) in
queue 30 all from any to any in
queue 31 all from any to any out

queue 10 config pipe 1 weight 20 mask src-ip 0x000000ff
queue 11 config pipe 2 weight 20 mask dst-ip 0x000000ff
queue 20 config pipe 1 weight 10 mask src-ip 0x000000ff
queue 21 config pipe 2 weight 10 mask dst-ip 0x000000ff
queue 30 config pipe 1 weight 5 mask src-ip 0x000000ff
queue 31 config pipe 2 weight 5 mask dst-ip 0x000000ff

pipe 1 config bw 10Mb/s
pipe 2 config bw 5Mb/s

So, it doesnt matter the per-ip bandwith usage limits, I only have the
total limit which would be the root queue in a pf/altq rule. Every
user may use up to the limit of the total available bw, but if more
than one user share the pipes, they will be queued with the assigned
weights. It means people on table(2) will be able to use 1/2 of the bw
people on table(1) is using while others will use 1/2 of what people
on table(2) is using, and 1/4 of what people on table(1) is using.

It means I dont only have minimuns and maximuns. If the total bandwith
demand for pipe 1 is over 10Mb/s, sai if the demand is 20Mb/s all the
users will suffer, but their suffering will be fair to their weights,
so people on table(1) will suffer the same among themselves but will
suffer twice less than people on table(2), etc.

To make it short, how can I remake this behavior with pf/altq? and
How? HFSC would to the job? Does PF/ALTQ support WFQ?

Can anyone post me example rules?

I found some very good examples with hfsc and upplerlimit, realtime
and priority, but none what would be exactly like this. They all had
their "minimum" well defined and they would use more bandiwith if
their were available. I never found how to share the "suffering" if BW
is too low comparing to the demand. Only how to share the extra
availability of the bandwith.

The only thing I am convinced is that cbq wont do this work to me. But
which scheduler will?

Does priority may work like weights in any situation?

All sort of examples are more than welcome :)


-- 
===========
Eduardo Meyer
pessoal: dudu.meyer at gmail.com
profissional: ddm.farmaciap at saude.gov.br


More information about the freebsd-pf mailing list