From owner-cvs-src@FreeBSD.ORG Wed Jan 26 12:13:23 2005 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B2E1D16A4CE; Wed, 26 Jan 2005 12:13:23 +0000 (GMT) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id 43F6043D1D; Wed, 26 Jan 2005 12:13:23 +0000 (GMT) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (localhost [127.0.0.1]) by fledge.watson.org (8.13.1/8.13.1) with ESMTP id j0QCCu3Z028292; Wed, 26 Jan 2005 07:12:56 -0500 (EST) (envelope-from robert@fledge.watson.org) Received: from localhost (robert@localhost)j0QCCu8s028289; Wed, 26 Jan 2005 12:12:56 GMT (envelope-from robert@fledge.watson.org) Date: Wed, 26 Jan 2005 12:12:56 +0000 (GMT) From: Robert Watson X-Sender: robert@fledge.watson.org To: Maxim Konovalov In-Reply-To: <20050126145335.R46631@mp2.macomnet.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: cvs-src@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/em if_em.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Jan 2005 12:13:23 -0000 On Wed, 26 Jan 2005, Maxim Konovalov wrote: > > Disable use of hardware VLAN tagging and stripping in if_em in the default > > configuration: it appears to work properly in the non-promiscuous case, but > > we've not yet implemented a more general solution that maintains full > > functionality with promiscuous mode enabled. While my hope is that we can > > get one implemented soon, this will improve functionality substantially in > > the mean time. > > Thanks! Sorry this has taken so long -- I hoped to put together a solution in December, but ran out of time. We may want to make the same change to if_re, which probably suffers from the same problem (I'm unable to test that, since I have no if_re hardware). Hopefully I (or someone) can get to a more complete fix soon. Fixing this problem is made difficult in that we have to be careful to avoid races between the generation of packets and the transition of hardware state to and from tagging/stripping mode, which means the driver has to run additional software VLAN logic as packets enter/exit the card to make sure that the state of the VLAN flags in hardware doesn't transition when packets in its descriptors aren't in a useful state. Robert N M Watson