Date: Wed, 26 Jan 2005 12:12:56 +0000 (GMT) From: Robert Watson <rwatson@FreeBSD.org> To: Maxim Konovalov <maxim@FreeBSD.org> Cc: cvs-src@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/em if_em.c Message-ID: <Pine.NEB.3.96L.1050126121026.26815G-100000@fledge.watson.org> In-Reply-To: <20050126145335.R46631@mp2.macomnet.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1050126121026.26815G-100000>