I've tried

ipfw pipe 2 config mask all bw 100Kbit/s
ipfw add 10 pipe 2 tcp from localip to any 80

it appears to be working but I don't have enough connections on right now to find out if it really gives 100kbit/sec to each or if it shares the bw

will come back with an update :)

I gave port 80 as an example but I need this configuration for limiting other services as well.

If you have a 100mbps connection and only one client, you want him to only use 50kbps, not the full pipe. If you have 200 clients, they still get 50kbps each.

Is this feature that I need so complicated that it can't be implemented easily into FreeBSD or is it that not many people need it ? It sounds quite useful to me :)

I have personally tried that before and it did not worked as described, in
fact it didn't work at all to limit anything on FBSD6.

-----Original Message-----
[mailto:[EMAIL PROTECTED] On Behalf Of Christopher Cowart
Sent: Tuesday, April 01, 2008 7:55 PM
Subject: Re: FreeBSD Traffic Shaping

I am trying to limit the bandwidth available to some connections and
I'm not sure FreeBSD can handle this. Maybe some of you can help.
Here's what I need to have exactly.

No matter what the number of connections, each connection should have
at most/least 50kbps guaranteed outbound on port 80.

I've tried dummynet but it doesn't do what I need because if I define
a pipe with 1mbps and if I have 1000 connections, each connection will
have less than 50kbps.

Any way to do this in FreeBSD ?

The ipfw(8) man page describes a "mask" configuration parameter.

# /sbin/ipfw pipe 1 config mask src-ip 0xffffffff bw 56Kbit/s

This creates a separate dynamic pipe per source ip address. Each pipe has a
dedicated 56kbps. The man page implies that the mask can combine fields, so
to uniquely identify "each connection", you would mask all bits of source
and destination IP and ports. It looks like the "all"
keyword might do just the trick.

Chris Cowart
Network Technical Lead
Network & Infrastructure Services, RSSP-IT UC Berkeley

_______________________________________________ mailing list
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

_______________________________________________ mailing list
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

_______________________________________________ mailing list
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to