From owner-freebsd-bugs Fri Dec 6 7:10: 9 2002 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 676CE37B401 for ; Fri, 6 Dec 2002 07:10:07 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 85EAE43E9C for ; Fri, 6 Dec 2002 07:10:06 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id gB6FA6x3018812 for ; Fri, 6 Dec 2002 07:10:06 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id gB6FA6Q0018811; Fri, 6 Dec 2002 07:10:06 -0800 (PST) Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7B2C137B401 for ; Fri, 6 Dec 2002 07:01:05 -0800 (PST) Received: from rhino.cis.vutbr.cz (rhino.cis.vutbr.cz [147.229.3.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id DCEDF43EB2 for ; Fri, 6 Dec 2002 07:01:02 -0800 (PST) (envelope-from root@hippo.cis.vutbr.cz) Received: from hippo.cis.vutbr.cz (hippo.cis.vutbr.cz [147.229.1.13]) by rhino.cis.vutbr.cz (8.11.6/8.11.6/VUT Brno) with ESMTP id gB6F0xr61841 for ; Fri, 6 Dec 2002 16:00:59 +0100 (CET) (envelope-from root@hippo.cis.vutbr.cz) Received: from hippo.cis.vutbr.cz (localhost [127.0.0.1]) by hippo.cis.vutbr.cz (8.12.6/8.12.6/VUT Brno) with ESMTP id gB6F0vJH014086 for ; Fri, 6 Dec 2002 16:00:57 +0100 (CET) Received: (from root@localhost) by hippo.cis.vutbr.cz (8.12.6/8.12.5/Submit) id gB6F0vqB014085; Fri, 6 Dec 2002 16:00:57 +0100 (CET) Message-Id: <200212061500.gB6F0vqB014085@hippo.cis.vutbr.cz> Date: Fri, 6 Dec 2002 16:00:57 +0100 (CET) From: Tomas Podermanski Reply-To: Tomas Podermanski To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: kern/46028: Incorrect vlan tag ID detection on em driver Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >Number: 46028 >Category: kern >Synopsis: Incorrect vlan tag ID detection on em driver >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri Dec 06 07:10:01 PST 2002 >Closed-Date: >Last-Modified: >Originator: >Release: FreeBSD 4.6-STABLE i386 >Organization: Brno University of Technology >Environment: System: FreeBSD hippo.cis.vutbr.cz 4.6-STABLE FreeBSD 4.6-STABLE #5: Tue Oct 22 17:54:18 CEST 2002 root@hippo.cis.vutbr.cz:/usr/src/sys/compile/SERVER i386 em driver for Intel adapters witch vlan support >Description: When tagged packet is receive witch grater packet priority them 0, driver incoret detect 802.1 tag ID. When we analyse this problem we locate incorrect code in src/sys/dev/em/if_em.c. When macro VLAN_INPUT_TAG is called then 3-rd parametr is devolved as full 802.1Q TAG. If lower bits are set to zero everything work correctly, but when is priority part of TAG set to differed value macro take incorret tag ID value. >How-To-Repeat: code >Fix: Mask tag data with relevant mask when VLAN_INPUT_TAG is called. --- if_em.c Fri Dec 6 15:10:03 2002 +++ ../../../sys.bkp/dev/em/if_em.c Sat Jul 20 04:30:27 2002 @@ -2020,8 +2020,7 @@ adapter->fmp); if (current_desc->status & E1000_RXD_STAT_VP) VLAN_INPUT_TAG(eh, adapter->fmp, - current_desc->special & - E1000_RXD_SPC_VLAN_MASK); + current_desc->special); else ether_input(ifp, eh, adapter->fmp); >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message