From owner-cvs-all@FreeBSD.ORG Wed Sep 20 08:52:40 2006 Return-Path: X-Original-To: cvs-all@freebsd.org Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 502C716A40F; Wed, 20 Sep 2006 08:52:40 +0000 (UTC) (envelope-from dwmalone@maths.tcd.ie) Received: from salmon.maths.tcd.ie (salmon.maths.tcd.ie [134.226.81.11]) by mx1.FreeBSD.org (Postfix) with SMTP id D286443D5D; Wed, 20 Sep 2006 08:52:38 +0000 (GMT) (envelope-from dwmalone@maths.tcd.ie) Received: from walton.maths.tcd.ie ([134.226.81.10] helo=walton.maths.tcd.ie) by salmon.maths.tcd.ie with SMTP id ; 20 Sep 2006 09:52:37 +0100 (BST) Date: Wed, 20 Sep 2006 09:52:36 +0100 From: David Malone To: Peter Jeremy Message-ID: <20060920085236.GA58179@walton.maths.tcd.ie> 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> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060920072626.GA738@turion.vk2pj.dyndns.org> User-Agent: Mutt/1.5.6i Sender: dwmalone@maths.tcd.ie Cc: cvs-src@freebsd.org, cvs-all@freebsd.org, src-committers@freebsd.org, John Baldwin , Jung-uk Kim Subject: Re: cvs commit: src/sys/dev/bge if_bge.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Sep 2006 08:52:40 -0000 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.