FreeBSD Traffic Shaping

freebsd at top-consulting.net freebsd at top-consulting.net
Wed Apr 2 08:07:36 UTC 2008


Hmm,

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-----
>> From: owner-freebsd-questions at freebsd.org
>> [mailto:owner-freebsd-questions at freebsd.org] On Behalf Of Christopher Cowart
>> Sent: Tuesday, April 01, 2008 7:55 PM
>> To: freebsd at top-consulting.net
>> Cc: freebsd-questions at freebsd.org
>> Subject: Re: FreeBSD Traffic Shaping
>>
>> freebsd at top-consulting.net wrote:
>>> 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
>>
>> _______________________________________________
>> freebsd-questions at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
>> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
>>
>
>
>
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
>





More information about the freebsd-questions mailing list