svn commit: r356703 - head/sys/dev/vmware/vmxnet3

Vincenzo Maffione vmaffione at FreeBSD.org
Mon Jan 13 21:26:18 UTC 2020


Author: vmaffione
Date: Mon Jan 13 21:26:17 2020
New Revision: 356703
URL: https://svnweb.freebsd.org/changeset/base/356703

Log:
  vmx: fix initialization of TSO related descriptor fields
  
  Fix a mistake introduced by r343291, which ported the vmx(4)
  driver to iflib.
  In case of TSO, the hlen field of the (first) tx descriptor must
  be initialized to the cumulative length of Ethernet, IP and TCP
  headers. The length of the TCP header was missing.
  
  PR:		236999
  Reported by:	pkelsey
  Reviewed by:	avg
  MFC after:	1 week
  Differential Revision:	https://reviews.freebsd.org/D22967

Modified:
  head/sys/dev/vmware/vmxnet3/if_vmx.c

Modified: head/sys/dev/vmware/vmxnet3/if_vmx.c
==============================================================================
--- head/sys/dev/vmware/vmxnet3/if_vmx.c	Mon Jan 13 21:12:10 2020	(r356702)
+++ head/sys/dev/vmware/vmxnet3/if_vmx.c	Mon Jan 13 21:26:17 2020	(r356703)
@@ -1320,7 +1320,7 @@ vmxnet3_isc_txd_encap(void *vsc, if_pkt_info_t pi)
 	hdrlen = pi->ipi_ehdrlen + pi->ipi_ip_hlen;
 	if (pi->ipi_csum_flags & CSUM_TSO) {
 		sop->offload_mode = VMXNET3_OM_TSO;
-		sop->hlen = hdrlen;
+		sop->hlen = hdrlen + pi->ipi_tcp_hlen;
 		sop->offload_pos = pi->ipi_tso_segsz;
 	} else if (pi->ipi_csum_flags & (VMXNET3_CSUM_OFFLOAD |
 	    VMXNET3_CSUM_OFFLOAD_IPV6)) {


More information about the svn-src-all mailing list