Date: Fri, 6 Dec 2002 16:00:57 +0100 (CET) From: Tomas Podermanski <tpoder@cis.vutbr.cz> To: FreeBSD-gnats-submit@FreeBSD.org Subject: kern/46028: Incorrect vlan tag ID detection on em driver Message-ID: <200212061500.gB6F0vqB014085@hippo.cis.vutbr.cz>
next in thread | raw e-mail | index | archive | help
>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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200212061500.gB6F0vqB014085>
