Skip site navigation (1)Skip section navigation (2)
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>