Date: Thu, 27 Mar 2008 18:10:56 +0100 From: Andre Oppermann <andre@freebsd.org> To: Robert Watson <rwatson@FreeBSD.org> Cc: Sepherosa Ziehau <sepherosa@gmail.com>, freebsd-hackers@freebsd.org, araujo@freebsd.org, vadim_nuclight@mail.ru, freebsd-ipfw@freebsd.org, Julian Elischer <julian@elischer.org> Subject: Re: [HEADS UP!] IPFW Ideas: possible SoC 2008 candidate Message-ID: <47EBD520.8050305@freebsd.org> In-Reply-To: <20080325094400.I6905@fledge.watson.org> References: <slrnfud9lu.1rus.vadim_nuclight@hostel.avtf.net> <47E79636.1000909@FreeBSD.org> <47E7EAA8.7020101@elischer.org> <ea7b9c170803250203l6e3769ablcba65df6c1f5a4b6@mail.gmail.com> <20080325094400.I6905@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Robert Watson wrote: > > On Tue, 25 Mar 2008, Sepherosa Ziehau wrote: > >> On Tue, Mar 25, 2008 at 1:53 AM, Julian Elischer <julian@elischer.org> >> wrote: >> >>> 3/ possibly keeping per CPU stats.. >> >> >> This probably is the trickest part, not difficult for non-fastforward >> case. But if fastforward is enabled, I could only imagine full >> cross-cpu states duplication. > > > FWIW, there is decreasing difference between IP fast forwarding and > regular IP processing in FreeBSD 7.x, as we perform direct dispatch by > default, so it's not just the fast forward case where full input > parallelism is possible for the firewall, and parallel firewall > processing has occurred for output since 5.3. The regular forwarding path still does a (partial) copy of each packet it forwards. This is done for the ICMP redirect functionality. Additionally it has a much larger I-cache footprint due to the full ip_input(), ip_forward() and ip_output() functions being executed. Yes, the delta is shrinking but still quite big. I think regular forwarding still hits the wall at around 300-350kpps whereas fastforward can do 500kpps up to 1mpps with a good hardware base. -- Andre
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47EBD520.8050305>