All of lore.kernel.org
 help / color / mirror / Atom feed
From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [dpdk-dev] [Bug 629] ixgbe: 82599 chksum rx offload marks UDP packets over IPv4 with zero checksum as CKSUM_BAD
Date: Fri, 29 Jan 2021 14:47:46 +0000	[thread overview]
Message-ID: <bug-629-3@http.bugs.dpdk.org/> (raw)

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

            Bug ID: 629
           Summary: ixgbe: 82599 chksum rx offload marks UDP packets over
                    IPv4 with zero checksum as CKSUM_BAD
           Product: DPDK
           Version: 20.11
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: ethdev
          Assignee: dev@dpdk.org
          Reporter: pvalerio@redhat.com
  Target Milestone: ---

on ixgbe (in particular on 82599 hw) when receiving UDP packets with zero
checksum (no checksum) over IPv4,
ol_flags PKT_RX_L4_CKSUM_BAD bit is set, whereas PKT_RX_L4_CKSUM_GOOD was
expected instead.

That happens because of a hardware errata [1], but still, needs to be handled
because applications like
for example, OvS are in turn affected by this issue.

This behavior can be easily reproduced using testpmd with --enable-rx-cksum
option.

# lshw -businfo -c network
Bus info          Device     Class          Description
=======================================================
pci@0000:01:00.0  em1        network        82599ES 10-Gigabit SFI/SFP+ Network
Connection
pci@0000:01:00.1  em2        network        82599ES 10-Gigabit SFI/SFP+ Network
Connection

testpmd -l 2,4 -w 0000:01:00.0 -- -i --port-topology=chained --enable-rx-cksum
testpmd> show device info all

********************* Infos for device 0000:01:00.0 *********************
Bus name: pci
Driver name: net_ixgbe
Devargs: 
Connect to socket: 0

        Port id: 0 
        MAC address: EC:F4:BB:DB:FC:18
        Device name: 0000:01:00.0
        Device speed capability: 1 Gbps   10 Gbps

testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start

and sending packets from a tester machine using scapy (w/ zero checksum):

sendp(Ether(src="ec:f4:bb:dc:09:d0",dst="ec:f4:bb:db:fc:18")/IP(src="192.168.30.200",
dst="192.168.30.100")/UDP(chksum=0)/Raw("a"*100), iface="em1")

the results is:

port 0/queue 0: received 1 packets
  src=EC:F4:BB:DC:09:D0 - dst=EC:F4:BB:DB:FC:18 - type=0x0800 - length=142 -
nb_segs=1 - hw ptype: L2_ETHER L3_IPV4 L4_UDP  - sw ptype: L2_ETHER L3_IPV4
L4_UDP  - l2_len=14 - l3_len=20 - l4_len=8 - Receive queue=0x0
  ol_flags: PKT_RX_L4_CKSUM_BAD PKT_RX_IP_CKSUM_GOOD
PKT_RX_OUTER_L4_CKSUM_UNKNOWN


[1]
https://patchwork.ozlabs.org/project/netdev/patch/20090724040031.30202.1531.stgit@localhost.localdomain/

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

             reply	other threads:[~2021-01-29 14:47 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-29 14:47 bugzilla [this message]
2021-02-10 21:39 ` [dpdk-dev] [Bug 629] ixgbe: 82599 chksum rx offload marks UDP packets over IPv4 with zero checksum as CKSUM_BAD bugzilla

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-629-3@http.bugs.dpdk.org/ \
    --to=bugzilla@dpdk.org \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.