Author: erj
Date: Thu Nov  8 21:36:45 2018
New Revision: 340263
URL: https://svnweb.freebsd.org/changeset/base/340263

Log:
  MFC r340256: ixl/iavf(4): Fix TSO offloads when TXCSUM is disabled
  
  Approved by: re (gjb@)

Modified:
  stable/12/sys/dev/ixl/if_iavf.c
  stable/12/sys/dev/ixl/if_ixl.c
  stable/12/sys/dev/ixl/ixl.h
  stable/12/sys/dev/ixl/ixl_txrx.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/dev/ixl/if_iavf.c
==============================================================================
--- stable/12/sys/dev/ixl/if_iavf.c     Thu Nov  8 20:48:44 2018        
(r340262)
+++ stable/12/sys/dev/ixl/if_iavf.c     Thu Nov  8 21:36:45 2018        
(r340263)
@@ -261,7 +261,7 @@ static struct if_shared_ctx iavf_sctx_init = {
        .isc_vendor_info = iavf_vendor_info_array,
        .isc_driver_version = IAVF_DRIVER_VERSION_STRING,
        .isc_driver = &iavf_if_driver,
-       .isc_flags = IFLIB_NEED_SCRATCH | IFLIB_NEED_ZERO_CSUM | IFLIB_IS_VF,
+       .isc_flags = IFLIB_NEED_SCRATCH | IFLIB_NEED_ZERO_CSUM | 
IFLIB_TSO_INIT_IP | IFLIB_IS_VF,
 
        .isc_nrxd_min = {IXL_MIN_RING},
        .isc_ntxd_min = {IXL_MIN_RING},

Modified: stable/12/sys/dev/ixl/if_ixl.c
==============================================================================
--- stable/12/sys/dev/ixl/if_ixl.c      Thu Nov  8 20:48:44 2018        
(r340262)
+++ stable/12/sys/dev/ixl/if_ixl.c      Thu Nov  8 21:36:45 2018        
(r340263)
@@ -323,7 +323,7 @@ static struct if_shared_ctx ixl_sctx_init = {
        .isc_vendor_info = ixl_vendor_info_array,
        .isc_driver_version = IXL_DRIVER_VERSION_STRING,
        .isc_driver = &ixl_if_driver,
-       .isc_flags = IFLIB_NEED_SCRATCH | IFLIB_NEED_ZERO_CSUM | 
IFLIB_ADMIN_ALWAYS_RUN,
+       .isc_flags = IFLIB_NEED_SCRATCH | IFLIB_NEED_ZERO_CSUM | 
IFLIB_TSO_INIT_IP | IFLIB_ADMIN_ALWAYS_RUN,
 
        .isc_nrxd_min = {IXL_MIN_RING},
        .isc_ntxd_min = {IXL_MIN_RING},

Modified: stable/12/sys/dev/ixl/ixl.h
==============================================================================
--- stable/12/sys/dev/ixl/ixl.h Thu Nov  8 20:48:44 2018        (r340262)
+++ stable/12/sys/dev/ixl/ixl.h Thu Nov  8 21:36:45 2018        (r340263)
@@ -258,6 +258,8 @@
        (CSUM_IP_UDP|CSUM_IP6_UDP)
 #define IXL_CSUM_SCTP \
        (CSUM_IP_SCTP|CSUM_IP6_SCTP)
+#define IXL_CSUM_IPV4 \
+       (CSUM_IP|CSUM_IP_TSO)
 
 /* Pre-11 counter(9) compatibility */
 #if __FreeBSD_version >= 1100036

Modified: stable/12/sys/dev/ixl/ixl_txrx.c
==============================================================================
--- stable/12/sys/dev/ixl/ixl_txrx.c    Thu Nov  8 20:48:44 2018        
(r340262)
+++ stable/12/sys/dev/ixl/ixl_txrx.c    Thu Nov  8 21:36:45 2018        
(r340263)
@@ -225,7 +225,7 @@ ixl_tx_setup_offload(struct ixl_tx_queue *que,
        switch (pi->ipi_etype) {
 #ifdef INET
                case ETHERTYPE_IP:
-                       if (pi->ipi_csum_flags & CSUM_IP)
+                       if (pi->ipi_csum_flags & IXL_CSUM_IPV4)
                                *cmd |= I40E_TX_DESC_CMD_IIPT_IPV4_CSUM;
                        else
                                *cmd |= I40E_TX_DESC_CMD_IIPT_IPV4;
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to