challenge with dummynet+ipfw

Jeremie Le Hen jeremie at le-hen.org
Mon Aug 29 16:33:57 GMT 2005


Hi,

[ please try to avoid cross-posting on FreeBSD lists ]

> I want to organize my bandwith in this mode
> # download section
>                    1000kbit/s
>                        |
>                        |
>             |--------------------|
>             |                    |
>             |                    |
>           hight                 low
>     priorized traffic       priorized
>             |                    |
>          512kbit/s               |
>             |                    |
>           user           |---------------|
>         share same       |               |
>         bandwith         |               |
>                      300 kbit/s       512kbit/s
>                          |               |
>                          |               |
>                          |               |
>                      users share     users share
>                     same bandwith   same bandwith
> 
> I want to use ipfw+dummynet. Solutions is to pass traffic that match
> an rule to multiple pipe or queue with different weights. But how?
> What is the precedence? (need sysctl net.inet.ip.fw.one_pass=0)
> If any have an solutions please be explicity. I dont want to be easy,
> but is significant in this case, in wich order apply rule, and how is
> configured pipe and queue. For this reason, solutions please put in this form (example):
> 
> #section pipe and queue configuration
> ipfw pipe 1 config .....
> ipfw queue 8 config weight 3 pipe 6 ....
> ..................
> 
> #section ipfw rules
> ipfw add pipe 1 {match hight pri.}
> ipfw add pipe 5 {match low pri. 300k same bandwith}
> ipfw add queue 3 {match for hight pri. 512k same share}
> ...............................
> 
> I work for a time with dummynet. In this
> example have an important to build some hierarchy with dummy.
> 
> P.S. this scheme is not changeable. Please refer to this situation.

Note that queue's weight do not implement priorities.  The rule is
quite simple : sum up all weight of all queues connected to one pipe
and then each queue will be assigned the following bandwidth :
	queuebw = totalbw * queueweight / totalweight

ALTQ does prioritize the traffic.  This means that packets with high
priority are placed before lower prioritized packets in the device
output FIFO.

Regards,
-- 
Jeremie Le Hen
< jeremie at le-hen dot org >< ttz at chchile dot org >


More information about the freebsd-questions mailing list