From owner-freebsd-current@FreeBSD.ORG Tue Oct 12 14:36:06 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E5DCF16A4CE; Tue, 12 Oct 2004 14:36:06 +0000 (GMT) Received: from anuket.mj.niksun.com (gwnew.niksun.com [65.115.46.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id D5E2643D41; Tue, 12 Oct 2004 14:36:03 +0000 (GMT) (envelope-from jkim@niksun.com) Received: from [10.70.0.244] (daemon.mj.niksun.com [10.70.0.244]) by anuket.mj.niksun.com (8.13.1/8.12.11) with ESMTP id i9CEg2Dl035791; Tue, 12 Oct 2004 10:42:02 -0400 (EDT) (envelope-from jkim@niksun.com) From: Jung-uk Kim Organization: Niksun, Inc. To: freebsd-current@freebsd.org Date: Tue, 12 Oct 2004 10:35:59 -0400 User-Agent: KMail/1.6.2 References: <9256D57F598E6C41B288AA7DB94F29C902DFB963@pgnmail1.pgnaplikace.cz> <20041012140205.GD29433@cell.sick.ru> In-Reply-To: <20041012140205.GD29433@cell.sick.ru> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 7bit Message-Id: <200410121035.59905.jkim@niksun.com> X-Virus-Scanned: clamd / ClamAV version 0.75.1, clamav-milter version 0.75c on anuket.mj.niksun.com X-Virus-Status: Clean cc: Gleb Smirnoff Subject: Re: Broadcom bge and 802.1Q vlan tags X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Oct 2004 14:36:07 -0000 On Tuesday 12 October 2004 10:02 am, Gleb Smirnoff wrote: > On Tue, Oct 12, 2004 at 10:36:27AM +0200, Roub?cek Zdenek > (T-Systems PragoNet) wrote: R> I have run into a problem with my > Broadcom NIC (Dell LATITUDE D600). I am not able to detect 802.1Q > tags on incoming interface with ethereal or tcpdump. All incoming > packets seems like they are not coming through trunk but as native > ETH frames, ie. the vlan tag is missing, probably removed before > being passed to tcpdump? R> > R> No I have not tested NIC's behaviour on 4.X, but I is working > with linux (2.6.something kernel probably?) R> > R> Any ideas what to modify or set so I can detect vlan_tag would > be very apreciated. > > As Ruslan already mentioned, it is impossible to turn off hardware > VLAN stripping in bge driver. It's not true. You can: BGE_SETBIT(sc, BGE_RX_MODE, BGE_RXMODE_RX_KEEP_VLAN_DIAG)); to turn off VLAN tag stripping. My 2 cents... Jung-uk Kim > A patch to stop tagged frames to come on trunk interface is like > this: > > @@ -701,13 +657,16 @@ > * see if the device performed the decapsulation and > * provided us with the tag. > */ > - if (ifp->if_nvlans && > - m_tag_locate(m, MTAG_VLAN, MTAG_VLAN_TAG, NULL) != > NULL) { + if (m_tag_locate(m, MTAG_VLAN, MTAG_VLAN_TAG, NULL) > != NULL) { /* > * vlan_input() will either recursively call > ether_input() * or drop the packet. > */ > - KASSERT(vlan_input_p != NULL,("ether_input: VLAN > not loaded!")); + if (vlan_input_p == NULL) { > + /* vlan(4) is not loaded, discard frame */ > + m_freem(m); > + return; > + } > (*vlan_input_p)(ifp, m); > return; > }