Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Jul 1999 22:02:40 -0500
From:      Guy Helmer <ghelmer@scl.ameslab.gov>
To:        Luigi Rizzo <luigi@labinfo.iet.unipi.it>
Cc:        Mike Smith <mike@smith.net.au>, phk@critter.freebsd.dk, jeremyp@gsmx07.alcatel.com.au, cvs-all@FreeBSD.ORG, cvs-committers@FreeBSD.ORG, jkh@FreeBSD.ORG
Subject:   Re: cvs commit: src/release/sysinstall tcpip.c
Message-ID:  <Pine.SGI.4.10.9907222159170.347-100000@demios.scl.ameslab.gov>
In-Reply-To: <199907230029.CAA28046@labinfo.iet.unipi.it>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 23 Jul 1999, Luigi Rizzo wrote:

> > I forgot to mention that if we bite the bullet and tell ether_input to 
> > deal with the whole mbuf we can move all of the bridging code out of 
> > individual drivers as well.
> 
> the reason why i _didn't_ do this is performance.
> In most cases bridges throw away packets so they just need access to
> the ethernet header. For some cards (e.g. the NE2000) there is a
> significant advantage in pulling out from the card _only_ the header,
> and the rest only when the packet is one you really need.
> ...
> Currently the only driver which uses this optimization is the ne2000
> driver. PCI cards using dma master mode probably don't need  it at
> 10mbit/s, and i am not totally sure if it is worthwhile at 100mbit/s
> where the cost of reprogramming the DMA engine might nuke any advantage.

Could we handle this card as a special case (i.e., leave a direct jump
into the bridging code in the NE2000 driver) but handle bridging for all
other cards in ether_input?  It certainly would save a lot of code in all
the other drivers.  It might require a bit in the mbuf to indicate that
the bridge code has already seen the packet...

Guy

Guy Helmer, Ph.D. Candidate, Iowa State University Dept. of Computer Science 
Research Assistant, Ames Laboratory       ---         ghelmer@scl.ameslab.gov
Research Assistant, Dept. of Computer Science   ---   ghelmer@cs.iastate.edu
http://www.cs.iastate.edu/~ghelmer



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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SGI.4.10.9907222159170.347-100000>