Author: arybchik
Date: Thu May 21 09:06:41 2015
New Revision: 283207
URL: https://svnweb.freebsd.org/changeset/base/283207

Log:
  MFC: r282941
  
  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.
  
  Sponsored by:   Solarflare Communications, Inc.

Modified:
  stable/10/sys/dev/sfxge/sfxge.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/dev/sfxge/sfxge.c
==============================================================================
--- stable/10/sys/dev/sfxge/sfxge.c     Thu May 21 09:05:13 2015        
(r283206)
+++ stable/10/sys/dev/sfxge/sfxge.c     Thu May 21 09:06:41 2015        
(r283207)
@@ -281,10 +281,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;
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to