From owner-freebsd-net Wed Apr 26 13:35:31 2000 Delivered-To: freebsd-net@freebsd.org Received: from luxren2.boostworks.com (luxren2.boostworks.com [194.167.81.214]) by hub.freebsd.org (Postfix) with ESMTP id C2CA237B95C; Wed, 26 Apr 2000 13:35:19 -0700 (PDT) (envelope-from root@boostworks.com) Received: from boostworks.com (root@oldrn.luxdev.boostworks.com [192.168.1.99]) by luxren2.boostworks.com (8.9.1/8.9.1) with ESMTP id WAA45549; Wed, 26 Apr 2000 22:34:21 +0200 (CEST) Message-Id: <200004262034.WAA45549@luxren2.boostworks.com> Date: Wed, 26 Apr 2000 22:34:31 +0200 (CEST) From: Remy Nonnenmacher Reply-To: remy@boostworks.com Subject: Re: Proposal for ethernet, bridging, netgraph To: archie@whistle.com Cc: luigi@info.iet.unipi.it, luigi@FreeBSD.ORG, csg@waterspout.com, pavel@alum.mit.edu, nsayer@sftw.com, julian@elischer.org, freebsd-net@FreeBSD.ORG In-Reply-To: <200004261846.LAA59380@bubba.whistle.com> MIME-Version: 1.0 Content-Type: TEXT/plain; CHARSET=US-ASCII Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On 26 Apr, Archie Cobbs wrote: > Luigi Rizzo writes: >> > 1) create an ether_input2() that {bpf_tap(), brige(), m_adj(); >> > ether_input()} >> > 2) Call ether_input2() from any simple drivers doing the ripping. >> > 3) keep all 'strange' or not-reviewed drivers using the standard >> > ether_input() >> > 4) carefully move all these drivers needing review to ether_input2() >> > 5) merge ether_input2 into ether_input when there will be no more >> > driver using the standard ether_input. >> >> which is basically my proposal, with step 5 left to the guys >> in northern europe who do all the dirty works :) > > Isn't this essentially what I've already done (steps 1-5)? > > -Archie > Essentially...no. Remains the problem of the place for ether header ripping. We have two choices: 1) Let drivers call ether_input() as now and have hard time in the bpf/bridging code to reconstitute the parameters awaited. (bottom-up way, One big rewriting) 2) Modify all drivers to let ether_input() do the ripping and use the unmodified bridging code. (top-down way, many little modifications) With the simplification of the ether_input2() step, it would not be too difficult. Have a look at bdg_forward() and mind the modifications... Also, while we are at this level, it would be a good idea to coordinate with current BGL push-down/pull-up work under SMP. RN. IeM To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message