Subject: Re: CVS commit: src/sys/dev/ic
To: None <pavel@netbsd.org>
From: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
List: source-changes
Date: 05/17/2006 07:56:56
> Module Name:	src
> Committed By:	pavel
> Date:		Tue May 16 22:39:24 UTC 2006
> 
> Modified Files:
> 	src/sys/dev/ic: rtl8169.c
> 
> Log Message:
> Disable hw VLAN tagging, in a similar way that it was done in OpenBSD
> (src/sys/dev/ic/re.c rev. 1.15). The disabled VLAN stripping is mine.
> (The OpenBSD driver forgot to do this.)
> 
> The reason is that untagged packets get sometimes tagged incorrectly.
> PR 32643.
> 
> Approved by martin@.

isn't it a matter of stale rtk_vlanctl?

YAMAMOTO Takashi

Index: rtl8169.c
===================================================================
--- rtl8169.c	(revision 1464)
+++ rtl8169.c	(working copy)
@@ -1644,6 +1644,8 @@ re_encap(struct rtk_softc *sc, struct mb
 		sc->rtk_ldata.rtk_tx_list[startidx].rtk_vlanctl =
 		    htole32(htons(VLAN_TAG_VALUE(mtag)) |
 		    RTK_TDESC_VLANCTL_TAG);
+	} else {
+		sc->rtk_ldata.rtk_tx_list[startidx].rtk_vlanctl = 0;
 	}
 
 	/* Transfer ownership of packet to the chip. */