DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [Bug 514] [dpdk-20.08]tx_preparation/tx_preparation:IPV6/TCP packets TSO checksum incorrect
@ 2020-07-23  5:22 bugzilla
  0 siblings, 0 replies; only message in thread
From: bugzilla @ 2020-07-23  5:22 UTC (permalink / raw)
  To: dev

https://bugs.dpdk.org/show_bug.cgi?id=514

            Bug ID: 514
           Summary: [dpdk-20.08]tx_preparation/tx_preparation:IPV6/TCP
                    packets TSO checksum incorrect
           Product: DPDK
           Version: 20.08
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: testpmd
          Assignee: dev@dpdk.org
          Reporter: xix.zhang@intel.com
  Target Milestone: ---

DPDK version: Use make showversion or for a non-released version: git remote -v
&& git show-ref --heads
 20.08-rc2 3126c6e04118e92364571b7020f7bb1567bac694

Other software versions: name/version for QEMU, OVS, etc. Repeat as required.
OS:linux64(Ubuntu20.04,Ubuntu18.04,CentOS8.2,REHL8.2.... )5.4.0-26-generic...
Compiler: gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) & gcc (GCC) 8.3.1
20191121 (Red Hat 8.3.1-5) ...
Hardware platform: Intel(R) Xeon(R) Gold 6139 CPU @ 2.30GHz&Intel(R) Xeon(R)
CPU E5-2699 v3 @ 2.30GHz &Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz .......
NIC hardware: carlsville springville  fortville_25g powerville foxville SUSE15 
NIC firmware:i40e, igb,igc,ixgbe 


Test Setup
Steps to reproduce


1.tester:  ethtool -K eth0 rx off tx off tso off gso            off gro off lro
off
2.tester:   ifconfig eth0 mtu 9000
3.usertools/dpdk-devbind.py --force --bind=vfio-pci 0000:3d:00.0 0000:3d:00.1
4../x86_64-native-linuxapp-gcc/app/testpmd -l 1,2 -n 4 -w 0000:3d:00.0 -w
0000:3d:00.1  --file-prefix=dpdk_9602_20200723104126   -- -i  --portmask=1
--port-topology=chained --max-pkt-len=9000 --tx-offloads=0x8000
5.show port info 0
6.set fwd csum
7.set verbose 1
8.port stop all
9.csum set ip hw 0
10.csum set tcp hw 0
11.csum set udp hw 0
12.tso set 1460 0
13.port start all
14.start
15.tester:tcpdump ether[12:2]!=0x88cc and ether src A4:BF:01:3E:21:54 -i eth0
-n -e -vv -w            ./getPackageByTcpdump.cap 2> /dev/null&
16.tester:    sendp([Ether(dst="A4:BF:01:3E:21:54")/IPv6()/TCP(flags=0x10)     
              /Raw(RandString(4258))], iface="eth0", count=4)
17.tester: tcpdump -nn -e -v -r ./getPackageByTcpdump.cap




Expected Result:

10:42:13.463210 a4:bf:01:3e:21:54 > 02:00:00:00:00:00, ethertype IPv6 (0x86dd),
length 1534: (hlim 64, next-header TCP (6) payload length: 1480) ::.20 >
::1.80: Flags [.], cksum 0x6ba5 (correct), seq 0:1460, ack 0, win 8192, length
1460: HTTP


Actual results:
10:38:32.600209 a4:bf:01:3e:21:54 > 02:00:00:00:00:00, ethertype IPv6 (0x86dd),
length 1534: (hlim 64, next-header TCP (6) payload length: 1480) ::.20 >
::1.80: Flags [.], cksum 0xf7b6 (incorrect -> 0xf7af), seq 0:1460, ack 0, win
8192, length 1460: HTTP

Regression
Is this issue a regression: Y

commit 520059a41aa9b263d4f5dd2337e9e543441277de
Author: Andrew Rybchenko <arybchenko@solarflare.com>
Date: Mon Jul 13 15:22:34 2020 +0100

net: check fragmented headers in non-debug as well

Pseudo-header checksum calculation requires contiguous headers.
There is no any formal requirements on data location and mbuf
structure which could be used by the application.

Since

commit dfc6b2fd8da3 ("mbuf: remove Intel offload checks from generic API")

fragmented headers checks are done inside
rte_net_intel_cksum_flags_prepare() in RTE_LIBRTE_ETHDEV_DEBUG build
because it is moved from rte_validate_tx_offload() which is called
under debug only.

Make corresponding check to be done in non-debug build as well
to avoid bad accesses, incorrect checksum calculation and to
return appropriate error from Tx prepare.

Make no-offloads check more precise and do it in non-debug build
as well to avoid contiguous headers check and Tx prepare failure
if it is not actually required.

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>

-- 
You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-07-23  5:22 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-23  5:22 [dpdk-dev] [Bug 514] [dpdk-20.08]tx_preparation/tx_preparation:IPV6/TCP packets TSO checksum incorrect bugzilla

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).