Date: Sun, 29 Dec 2019 13:06:38 +0200 From: Andriy Gapon <avg@FreeBSD.org> To: Patrick Kelsey <pkelsey@freebsd.org> Cc: Vincenzo Maffione <vmaffione@freebsd.org>, freebsd-net <freebsd-net@freebsd.org> Subject: Re: vmx: strange issue, related to to tso? Message-ID: <730aedd4-1400-1f76-42b7-3b5313501c86@FreeBSD.org> In-Reply-To: <CAD44qMVVg2T-LyKXc7Rvf7%2B4iuqmrAVXAoQohjQHkGW97TD4UQ@mail.gmail.com> References: <67dc1ce9-274c-7e70-30dc-97e2d5767237@FreeBSD.org> <CA%2B_eA9jnyKD-JikmOA-uJybCf%2BR_5JLRaZ5GPBhQ=09MnEfwXw@mail.gmail.com> <963e3042-90b4-4de2-e18c-3e29627a25a9@FreeBSD.org> <CAD44qMVVg2T-LyKXc7Rvf7%2B4iuqmrAVXAoQohjQHkGW97TD4UQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 28/12/2019 06:43, Patrick Kelsey wrote: > I am not able to test this at the moment, nor likely in the very near future, > but I did have a few minutes to do some code reading and now believe that the > following is part of the problem, if not the entire problem. Using r353803 as a > reference, I believe line 1323 in sys/dev/vmware/vmxnet3/if_vmx.c (in > vmxnet3_isc_txd_encap()) should be: > > sop->hlen = hdrlen + ipi->ipi_tcp_hlen; > > instead of the current: > > sop->hlen = hdrlen; > > This can be seen by going back to r333813 and examining the CSUM_TSO case of > vmxnet3_txq_offload_ctx(). The final increment of *start in that case is what > was literally lost in translation when converting the driver to iflib. Patrick, thank you very much! The change (with s/ipi->/pi->/) fixes the problem for me. -- Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?730aedd4-1400-1f76-42b7-3b5313501c86>