advanced bandwidth limiting

Martes Wigglesworth martes.wigglesworth at earthlink.net
Sat Oct 23 15:11:12 PDT 2004


The answer from all documentation that I have read, would be simply
empliment a single pipe 1 of bw xKbit/s and configure dynamic pipes that
use the same pipe, hence splitting up the bandwidth dynamicly.  Since
the queue is a copy of the first one, then all dynamic pipe have the
same queue weight, and will then have an equal segment of the bandwidth
of the pipe that they are attached to, in this case pipe 1.  

Example:

ipfw add queue 1 log ip from any to ${internaldudes} in recv ${extif}
ipfw queue 1 config pipe 1 mask dst-ip 0xffffffff
ipfw pipe 1 config bw 256Kbit/s

In the above example, any ip traffic comming into a natd box with
interface ${extif} attached to the internet, and ${internaldudes} being
those ips that are behind the gateway.  Whenever a host connects to the
box, and has traffic come to it from the internet, a dynamic queue will
drain bandwidth for pipe 1.  Due to this functionality, the pipe 1 bw
will get devided between the pipes that are created. When there is no
client, then the queue is deleted.

If you have multiple subnets, like me, then and you want to specify the
internal interfaces, then use the following, thanks to Nicolas, earlier
today:
${fwcmd_add} deny udp from 0.0.0.0 68 to 255.255.255.255 67 in 
\{ recv ${if_m} or recv ${if_g} \} 


-- 


M.G.W.
Wiggtekmicro, Corp.

System:
Asus M6N 
Intel Dothan 1.7
512MB RAM
40GB HD
10/100/1000 NIC
Wireless b/g (not working yet)
BSD-5.2.1
KDE-3.1.4



More information about the freebsd-ipfw mailing list