Date: Sun, 24 Oct 2004 01:10:49 +0300 From: Martes Wigglesworth <martes.wigglesworth@earthlink.net> To: Matej Puntar <matej.puntar@guest.arnes.si>, ipfw-mailings <freebsd-ipfw@freebsd.org> Subject: Re: advanced bandwidth limiting Message-ID: <1098569449.602.324.camel@Mobile1.276NET> In-Reply-To: <417AC21F.1030905@guest.arnes.si> References: <417AC21F.1030905@guest.arnes.si>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1098569449.602.324.camel>