From owner-svn-src-user@FreeBSD.ORG Tue Jan 5 18:18:48 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 86FB31065676; Tue, 5 Jan 2010 18:18:48 +0000 (UTC) (envelope-from luigi@onelab2.iet.unipi.it) Received: from onelab2.iet.unipi.it (onelab2.iet.unipi.it [131.114.59.238]) by mx1.freebsd.org (Postfix) with ESMTP id 357258FC15; Tue, 5 Jan 2010 18:18:47 +0000 (UTC) Received: by onelab2.iet.unipi.it (Postfix, from userid 275) id DBF00730A1; Tue, 5 Jan 2010 19:26:43 +0100 (CET) Date: Tue, 5 Jan 2010 19:26:43 +0100 From: Luigi Rizzo To: Ermal Lu?i Message-ID: <20100105182643.GA93051@onelab2.iet.unipi.it> References: <201001041658.o04GwFfG023749@svn.freebsd.org> <9a542da31001051006r61af058eg715c29ef0d3d2020@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <9a542da31001051006r61af058eg715c29ef0d3d2020@mail.gmail.com> User-Agent: Mutt/1.4.2.3i Cc: Luigi Rizzo , src-committers@freebsd.org, svn-src-user@freebsd.org Subject: Re: svn commit: r201517 - in user/luigi/ipfw3-head/sys/netinet: . ipfw X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Jan 2010 18:18:48 -0000 On Tue, Jan 05, 2010 at 07:06:51PM +0100, Ermal Lu?i wrote: > On Mon, Jan 4, 2010 at 5:58 PM, Luigi Rizzo wrote: > > > Author: luigi > > Date: Mon Jan 4 16:58:15 2010 > > New Revision: 201517 > > URL: http://svn.freebsd.org/changeset/base/201517 > > > > Log: > > divert has no specific API so we don't really need an ip_divert.h > > > > > > DECLARE_MODULE(ipdivert, ipdivertmod, SI_SUB_PROTO_IFATTACHDOMAIN, > > SI_ORDER_ANY); > > -MODULE_DEPEND(dummynet, ipfw, 2, 2, 2); > > +MODULE_DEPEND(ipdivert, ipfw, 2, 2, 2); > > MODULE_VERSION(ipdivert, 1); > > > > I would suggest to remove the dependency altogether since divert(4) does > not really depend on ipfw(4). Furthermore, the newest pf(4) can work > together with divert(4) so the it will have more than one consumer in the > tree. I was not aware of pf support -- in fact, i wonder how divert could work without ipfw because the function pointer ip_divert_ptr at the moment is defined in ip_fw_pfil.c . There are in fact, I believe, two things that enforce the dependency: 1. the ip_divert_ptr above. We should move it elsewhere, in the standard ip_* files; 2. the tag that is attached to the packet to record the reinject cookie (I have recently redefined it as MTAG_IPFW_RULE because i was not aware of the pf(4) support -- i need to revert/fix this if we want divert and pf cooperation (though note that I tried to have the same mtag format for all reinjected packets -- dummynet, divert, netgraph, ... so once we fix it for one application it should work for all with no special code). cheers luigi