Date: Wed, 20 Sep 2006 09:52:36 +0100 From: David Malone <dwmalone@maths.tcd.ie> To: Peter Jeremy <peterjeremy@optushome.com.au> Cc: cvs-src@freebsd.org, cvs-all@freebsd.org, src-committers@freebsd.org, John Baldwin <jhb@freebsd.org>, Jung-uk Kim <jkim@freebsd.org> Subject: Re: cvs commit: src/sys/dev/bge if_bge.c Message-ID: <20060920085236.GA58179@walton.maths.tcd.ie> In-Reply-To: <20060920072626.GA738@turion.vk2pj.dyndns.org> References: <200609182218.k8IMIMUT059300@repoman.freebsd.org> <200609191431.01649.jkim@FreeBSD.org> <20060919190449.GC720@turion.vk2pj.dyndns.org> <200609191535.08184.jkim@FreeBSD.org> <20060920072626.GA738@turion.vk2pj.dyndns.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Sep 20, 2006 at 05:26:26PM +1000, Peter Jeremy wrote: > In addition, the code necessary to correctly re-insert the VLAN tag > (to provide a fully valid mbuf chain for further processing) will be > larger and slower than the code necessary to kludge a mbuf that is > adequate for bpf_filter(). Putting ethernet specific code in bpf_* feels like a bad idea. It should be possible to leave hardware assisted VLAN tagging on and get ether input to reinsert the tag only in cases where there is a bpf listener. 4.X's ether_input already puts the ethernet header back on the mbuf. In 6.X and later it will require a little more work, but not much. (It's interesting to note that as ethernet cards introduce more features it is getting harder for us to tell what we put on the wire. With checksum offloading we can no longer trust the checksum. With VLAN tagging we can't trust the VLAN tag. With TSO we can't trust the IP ID, TCP sequence number, TCP timestamps, ... We've seen some interesting things on Linux recently because with TSO the RTT esitmation for TCP doesn't work at all the way you expect.) David.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060920085236.GA58179>