Traffic Shaping

I'm using FreeBSD because I like how easy the system can be set up, how software can be installed/removed and ... many other reasons:-) But there is a thing I don't know how to deal with: I have few connections behind a machine [FreeBSD acting as router and firewall] and I want to give to the machines behind a minimum guaranteed transfer rate and when available all the bandwidth of my internet connection [or a percentage of it]. A command like "ipfw add pipe 1 tcp from any to [host] via [interface_name] && ipfw pipe 1 config bw 512kbit/s" is not satistfactory because i can set only the upper limit which the specified host can reach, but can't tell nothing about a minimum guaranteed rate. Anyone can help me? :confused:

You don't need to set up the minimum limit. It is already set by default to 1024K

My question is: How can I give to a client a minimum guaranteed rate of 256kbit/sec? The upper limit is easy to set, but how about the guaranteed minimum rate?