Date: Tue, 18 Nov 2003 21:59:01 +0100 From: Alex de Kruijff <freebsd@akruijff.dds.nl> To: Kelsey Cummings <kgc@sonic.net> Cc: freebsd-questions@freebsd.org Subject: Re: ipfw dummynet bandwidth limiting questions Message-ID: <20031118205901.GB389@dds.nl> In-Reply-To: <20031118200227.GI10927@sonic.net> References: <20031118000352.GW41189@sonic.net> <20031118024857.GC3507@dds.nl> <20031118200227.GI10927@sonic.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Nov 18, 2003 at 12:02:27PM -0800, Kelsey Cummings wrote: > On Tue, Nov 18, 2003 at 03:48:57AM +0100, Alex de Kruijff wrote: > > On Mon, Nov 17, 2003 at 04:03:52PM -0800, Kelsey Cummings wrote: > > > I've had some trouble getting ipfw to behave as expected. I've got a ipfw > > > box sitting as a firewall and traffic shaper in bridge mode. It's working > > > great for the most part but I'm having trouble getting some specific behavior > > > to work right. > > > > > > I'm currently limiting all outbound streams to 1.5mbits, and this works > > > great. However, I'd also like to setup an overall cap for all traffic to > > > run at 25mbits. I can only get one or the other of these rule/pipe combos > > > to take affect at any given time. I must be missing something obvious: > > > > > > The rules in questions are as follows: > > > > > > add 420 pipe 420 tcp from $slb_www 80 to any > > > pipe 420 config bw 1500Kbit/s queue 35 mask dst-ip 0xffffffff buckets 1024 > > > > > > add 440 pipe 440 tcp from $slb_www 80 to any > > > pipe 440 config bw 25Mbit/s queue 100 > > > > > > 'ipfw show' shows zero hits on rule 440, it sure seems like it should work. > > > > The packets are allowed on 420 you can disable this with: > > exec = /sbin/sysctl net.inet.ip.fw.one_pass=0 > > Alex, any other suggestions? I'd already played with one_pass without > luck, and have tried again. > > # sysctl -a net.inet.ip.fw.one_pass > net.inet.ip.fw.one_pass: 0 > > #ipfw show > .. > 00420 4942806 6549461073 pipe 420 tcp from IP 80 to any > 00440 0 0 pipe 440 tcp from IP 80 to any > .. Could you try this firewall: ipfw flush ipfw add pipe 1 ip from any to any out ipfw add pipe 2 ip from any to any out ipfw pipe 1 config bw 1500Kbit/s dst-ip 0xffffffff ipfw pipe 2 config bw 25Mbit/s With net.inet.ip.fw.one_pass set to 0 all packets should pass though both pipes. -- Alex Articles based on solutions that I use: http://www.kruijff.org/alex/index.php?dir=docs/FreeBSD/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031118205901.GB389>