Date: Fri, 22 Dec 2006 11:13:05 +0300 From: Yar Tikhiy <yar@comp.chem.msu.su> To: Julian Elischer <julian@elischer.org> Cc: FreeBSD Net <freebsd-net@freebsd.org> Subject: Re: bridging ethernets containing vlans, Message-ID: <20061222081304.GB92873@comp.chem.msu.su> In-Reply-To: <458B2E19.2040708@elischer.org> References: <458B2E19.2040708@elischer.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Dec 21, 2006 at 05:00:09PM -0800, Julian Elischer wrote: > If I bridge two ethernets, one with HW_vlan tagging and the other > without, and there are vlans active on that network, am I right in > assuming that it requires that the two ethernets need to both have their > HW_vlan capabilities on or off, but that it won't work if they are mixed? > > The bridging code seems to turn on and off promiscuous mode for the > interfaces and bridge_mutecaps() seems to turn on the HX Checksup > capacity, but there doesn't seem to be any code whereby the > VLAN tagging is enabled or disabled. > > This means that bridging a HW-VLAN interface with one that > doesn't support HW vlans will result in just the base packet being > transmitted and the vlan header being dropped. > > Am I reading this right? > shouldn't the function bridge_mutecaps() also turn off HW vlan handling? > and is it just a case of adding it to BRIDGE_IFCAPS_MASK? I'd rather convert between the in-band and ouf-of-band representation of the VLAN tag in software. The problem with h/w capabilities is that no one can promise you that a particular NIC+driver pair can really control a particular capability; it can just stay always on due to driver incompleteness or firmware bogosity. On the output path, well-tempered network interfaces with VLAN_HWTAG should be able to accept both in-band and ouf-of-band tags, but real-world NICs can fail to operate in such a mixed mode. Many pitfalls lurk in the hardware acceleration of networking operations. -- Yar
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061222081304.GB92873>