Date: Fri, 05 Jun 2009 16:57:52 +0300 From: Mikolaj Golub <to.my.trociny@gmail.com> To: Oleg Bulyzhin <oleg@FreeBSD.org> Cc: freebsd-net@FreeBSD.org Subject: Re: panic with ng_ipfw+ng_car and net.inet.ip.fw.one_pass=0 Message-ID: <81hbyuvl3z.fsf@zhuzha.ua1> In-Reply-To: <20090604204720.GA49677@lath.rinet.ru> (Oleg Bulyzhin's message of "Fri\, 5 Jun 2009 00\:47\:20 %2B0400") References: <864ov9htgq.fsf@kopusha.onet> <81bpp8l6de.fsf@zhuzha.ua1> <20090603170311.GA18104@lath.rinet.ru> <20090604204720.GA49677@lath.rinet.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 5 Jun 2009 00:47:20 +0400 Oleg Bulyzhin wrote: > On Wed, Jun 03, 2009 at 09:03:11PM +0400, Oleg Bulyzhin wrote: >> On Mon, Jun 01, 2009 at 11:12:45AM +0300, Mikolaj Golub wrote: >> >> > It looks the problem has not drawn much attention :-). >> >> I was on vacation so did not reply in time. >> Dummynet like solution is not enough, dummynet is affected by this problem >> too. >> I'll send patch to you for testing tomorrow. > > Please test attached patch and let me know results. > Patch made for -current and it changes ABI, so rebuilding ipfw with new > headers required. It works for me. With the patch I has not managed to crash the system using my test. Some notes: - only ng_ipfw/ng_car subsystem has been tested (not dummynet). - my -current box is under qemu (I don't have real server running -current to test this). If you are interesting in some testing of dummynet before commiting this to current, let me know. I could try some tests but only the next week. If you are going to commit this to -current could you please fix ng_ipfw(4) man page too? Index: share/man/man4/ng_ipfw.4 =================================================================== --- share/man/man4/ng_ipfw.4 (revision 193478) +++ share/man/man4/ng_ipfw.4 (working copy) @@ -84,11 +84,12 @@ struct ng_ipfw_tag { struct m_tag mt; /* tag header */ struct ip_fw *rule; /* matching rule */ + uint32_t rule_id; /* matching rule id */ + uint32_t chain_id; /* ruleset id */ struct ifnet *ifp; /* interface, for ip_output */ int dir; /* packet direction */ #define NG_IPFW_OUT 0 #define NG_IPFW_IN 1 - int flags; /* flags, for ip_output() */ }; .Ed .Pp -- Mikolaj Golub
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?81hbyuvl3z.fsf>