Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Jan 2011 19:05:46 +0000 (UTC)
From:      Pyun YongHyeon <yongari@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r217832 - head/sys/dev/re
Message-ID:  <201101251905.p0PJ5kaX046858@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: yongari
Date: Tue Jan 25 19:05:46 2011
New Revision: 217832
URL: http://svn.freebsd.org/changeset/base/217832

Log:
  Disable TSO for all Realtek controllers. Experimentation showed
  RTL8111C generated corrupted frames where TCP option header was
  broken. All other sample controllers I have did not show such
  problem so it could be RTL8111C specific issue. Because there are
  too many variants it's hard to tell how many controllers have such
  issue. Just disable TSO by default but have user override it.

Modified:
  head/sys/dev/re/if_re.c

Modified: head/sys/dev/re/if_re.c
==============================================================================
--- head/sys/dev/re/if_re.c	Tue Jan 25 18:32:21 2011	(r217831)
+++ head/sys/dev/re/if_re.c	Tue Jan 25 19:05:46 2011	(r217832)
@@ -1504,14 +1504,12 @@ re_attach(device_t dev)
 		ifp->if_capabilities |= IFCAP_WOL;
 	ifp->if_capenable = ifp->if_capabilities;
 	/*
-	 * Don't enable TSO by default for old controllers. Under
-	 * certain circumtances the controller generated corrupted
-	 * packets in TSO size.
+	 * Don't enable TSO by default.  It is known to generate
+	 * corrupted TCP segments(bad TCP options) under certain
+	 * circumtances.
 	 */
-	if ((sc->rl_flags & RL_FLAG_DESCV2) == 0) {
-		ifp->if_hwassist &= ~CSUM_TSO;
-		ifp->if_capenable &= ~(IFCAP_TSO4 | IFCAP_VLAN_HWTSO);
-	}
+	ifp->if_hwassist &= ~CSUM_TSO;
+	ifp->if_capenable &= ~(IFCAP_TSO4 | IFCAP_VLAN_HWTSO);
 #ifdef DEVICE_POLLING
 	ifp->if_capabilities |= IFCAP_POLLING;
 #endif



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101251905.p0PJ5kaX046858>