Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Apr 2000 18:52:24 +0200 (CEST)
From:      Remy Nonnenmacher <remy@boostworks.com>
To:        archie@whistle.com
Cc:        csg@waterspout.com, julian@elischer.org, pavel@alum.mit.edu, nsayer@sftw.com, luigi@FreeBSD.ORG, freebsd-net@FreeBSD.ORG
Subject:   Re: Proposal for ethernet, bridging, netgraph
Message-ID:  <200004251652.SAA40276@luxren2.boostworks.com>
In-Reply-To: <200004251615.JAA32979@bubba.whistle.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 25 Apr, Archie Cobbs wrote:
> C. Stephen Gunn writes:
>> > OK, here's a patch ready for review & test.. this patch does one
>> > thing, which is move the calls to BPF and BRIDGE'ing out of each
>> > Ethernet driver and into ether_input().
>> 
>> Why not also modify ether_input() to remove the Ethernet header
>> when appropriate?  Instead of the monkey business to add the Ethernet
>> Header back on.
>>
>> There are a couple of places in ether_input() that do this already,
>> and you're proposing another for passing the packet to bpf.
>> 
>> I proposed this a few weeks ago, but never cleaned up my patch
>> for submission.  <sigh>
>> 
>> It would certainly prevent some of the kludges to deal with the
>> Ethernet Header for things that want a peek at it, like VLANs.
> 
> I started doing that, but there are some reasons not too..
> 
>   1. Less code changes => fewer new bugs
> 
>   2. NFS requires that the IP packet be longword aligned (or something).
>      If you start the mbuf with a 14-byte Ethernet header, then this
>      is broken (?? is this still true ??)
> 
>   3. Some code actually reads the header and the payload into different
>      buffers. Putting them together, and then separating them again later
>      would be slower than it is now.
> 
> But the main reason was #1 - i.e., "one thing at a time" :-)
> 

This means that bridge_in() must receive the ether header as a parameter
instead of extracting it. Also true for the forwarder part of the bridge
code.....





To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200004251652.SAA40276>