From owner-freebsd-net@FreeBSD.ORG Wed May 10 06:15:05 2006 Return-Path: X-Original-To: freebsd-net@freebsd.org Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CB1AC16A421 for ; Wed, 10 May 2006 06:15:05 +0000 (UTC) (envelope-from rizzo@icir.org) Received: from xorpc.icir.org (xorpc.icir.org [192.150.187.68]) by mx1.FreeBSD.org (Postfix) with ESMTP id BB67443D48 for ; Wed, 10 May 2006 06:15:00 +0000 (GMT) (envelope-from rizzo@icir.org) Received: from xorpc.icir.org (localhost [127.0.0.1]) by xorpc.icir.org (8.12.11/8.12.11) with ESMTP id k4A6EvH1067599; Tue, 9 May 2006 23:14:57 -0700 (PDT) (envelope-from rizzo@xorpc.icir.org) Received: (from rizzo@localhost) by xorpc.icir.org (8.12.11/8.12.3/Submit) id k4A6Ev2R067598; Tue, 9 May 2006 23:14:57 -0700 (PDT) (envelope-from rizzo) Date: Tue, 9 May 2006 23:14:57 -0700 From: Luigi Rizzo To: "Andrey V. Elsukov" Message-ID: <20060509231457.B67417@xorpc.icir.org> References: <4460FF4E.10305@ifi.unicamp.br> <44610333.6070806@elischer.org> <4461830E.8070207@yandex.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <4461830E.8070207@yandex.ru>; from bu7cher@yandex.ru on Wed, May 10, 2006 at 10:07:10AM +0400 Cc: freebsd-net@freebsd.org, Julian Elischer Subject: Re: ipfw divert with layer2 (if_bridge) packets X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 May 2006 06:15:06 -0000 On Wed, May 10, 2006 at 10:07:10AM +0400, Andrey V. Elsukov wrote: > Julian Elischer wrote: > > I have changes that make it work in 4.x but they will not apply to 5.x > > or later.. > > Luigi also has some changes that allow it.. > > I can try porting an older patches which allow this. > Is there a chance for including this feature into base system? sorry if i missed the earlier part of the thread... the earlier patches i posted (for 4.x) had a race problem because L2 packets would be processed with the wrong spl mask leading to possible corruption in the socket buffer. A fix for that involves sending divert packets to the ipintrq so they could be reprocessed with the correct masks. Probably 6.x does not have the same problem as the locking there is different. So in that case it might just be a case of adapting the patch to compile. cheers luigi