Date: Mon, 10 Nov 2003 09:59:29 +0200 From: "Artis Caune" <ac-lists@latnet.lv> To: "'Luigi Rizzo'" <rizzo@icir.org> Cc: freebsd-ipfw@freebsd.org Subject: RE: loading lot of rules takes very long time Message-ID: <20031110080053.5A99543F3F@mx1.FreeBSD.org> In-Reply-To: <20031106033919.A65661@xorpc.icir.org>
next in thread | previous in thread | raw e-mail | index | archive | help
"-Nq" speed up a little bit, thanks We need individual pipes for each client, because they are different organizations and pay different price for different speed pipes. (international traffic) We have /16 prefix ;) We use "or" blocks for organizations with more than one IP. So I belive our rules design is not ok, but we can do nothing about it! we use "skipto" to devide our /16 prefix in pieces: add 2 skipto 100 all from any to 159.148.0.0/24 add 2 skipto 200 all from any to 159.148.1.0/24 ... add 2 skipto N all from any to 159.148.255.0/24 This is just example, wee need more planning. pf can load 50000 rules in about 5-7sec. ipfw need about 25-35min to load 30000 rules. -----Original Message----- From: owner-freebsd-ipfw@freebsd.org [mailto:owner-freebsd-ipfw@freebsd.org] On Behalf Of Luigi Rizzo Sent: ceturtdiena, 2003. gada 6. novembri 13:39 To: Artis Caune Cc: freebsd-ipfw@freebsd.org Subject: Re: loading lot of rules takes very long time most likely, because you are not using "-n", the printing code will use the nameserver to try and resolve addresses, and if halfway through you are limiting/blocking access to the nameserver you incur in timeouts. To tell the truth i suspect you have a quite poorly designed ruleset if you are adding individual rules and pipes for each client. Almost surely you should make use of masks in pipes, and address sets in rules, to reduce the size of your ruleset to something manageable and efficient. cheers luigi On Thu, Nov 06, 2003 at 01:04:31PM +0200, Artis Caune wrote: > Hello, > > We have about 10000-20000 pipes for > different subnets, and it takes very long > time to load them - about 10-15min. > > 92.8% interrupt, 0.0% idle > > strange that things slow down when count > reaches 2000-2500 rules. > > is there something we can do to speed things up? > > rules are added like: > ipfw -q add 1 pipe 1 src-ip 1.1.1.1 out via em0 > ipfw pipe 1 config bw 30Kbytes/s queue 10 > ... > soo 'ipfw' is invoked '2 x client_count' !!! > > maybe ipfw need feature like: > ipfw -f /etc/rc.firewall > > > > # FreeBSD-4.9, IPFW2, > # HZ=2000, DEVICE_POLLING, > # 1G RAM, 2.4xeon on Intel server board > > > > > > ..... > Artis > > > _______________________________________________ > freebsd-ipfw@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw > To unsubscribe, send any mail to "freebsd-ipfw-unsubscribe@freebsd.org" _______________________________________________ freebsd-ipfw@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw To unsubscribe, send any mail to "freebsd-ipfw-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031110080053.5A99543F3F>