Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 May 2015 06:49:44 +0000 (UTC)
From:      Andrew Rybchenko <arybchik@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r282941 - head/sys/dev/sfxge
Message-ID:  <201505150649.t4F6niTp042894@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: arybchik
Date: Fri May 15 06:49:43 2015
New Revision: 282941
URL: https://svnweb.freebsd.org/changeset/base/282941

Log:
  sfxge: do not change CSUM_TSO when IFCAP_TSOx is changed
  
  It is simply not required since the kernel checks corresponding
  IFCAP_TSOx capability and CSUM_TSO in hw-assisted offloads.
  Note that CSUM_TSO is two bits (CSUM_IP_TSO|CSUM_IP6_TSO) and both bits
  are set in IPv4 and IPv6 mbufs.
  
  Reviewed by:    gnn
  Sponsored by:   Solarflare Communications, Inc.
  MFC after:      2 days
  Differential Revision: https://reviews.freebsd.org/D2546

Modified:
  head/sys/dev/sfxge/sfxge.c

Modified: head/sys/dev/sfxge/sfxge.c
==============================================================================
--- head/sys/dev/sfxge/sfxge.c	Fri May 15 06:48:36 2015	(r282940)
+++ head/sys/dev/sfxge/sfxge.c	Fri May 15 06:49:43 2015	(r282941)
@@ -282,10 +282,14 @@ sfxge_if_ioctl(struct ifnet *ifp, unsign
 			ifp->if_hwassist |= (CSUM_TCP_IPV6 | CSUM_UDP_IPV6);
 		else
 			ifp->if_hwassist &= ~(CSUM_TCP_IPV6 | CSUM_UDP_IPV6);
-		if (ifp->if_capenable & IFCAP_TSO)
-			ifp->if_hwassist |= CSUM_TSO;
-		else
-			ifp->if_hwassist &= ~CSUM_TSO;
+
+		/*
+		 * The kernel takes both IFCAP_TSOx and CSUM_TSO into
+		 * account before using TSO. So, we do not touch
+		 * checksum flags when IFCAP_TSOx is modified.
+		 * Note that CSUM_TSO is (CSUM_IP_TSO|CSUM_IP6_TSO),
+		 * but both bits are set in IPv4 and IPv6 mbufs.
+		 */
 
 		SFXGE_ADAPTER_UNLOCK(sc);
 		break;



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