[Bug 248306] if_mvneta: Corrupts TX packets when TXCSUM is not used

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[Bug 248306] if_mvneta: Corrupts TX packets when TXCSUM is not used

bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248306

--- Comment #9 from [hidden email] ---
A commit references this bug:

Author: mw
Date: Sat Aug  1 09:40:19 UTC 2020
New revision: 363759
URL: https://svnweb.freebsd.org/changeset/base/363759

Log:
  Fix TX csum handling in if_mvneta

  The mvneta device requires MVNETA_TX_CMD_L4_CHECKSUM_NONE bit to be set in
the tx descriptor is checksum not required. However, mvneta_tx_set_csumflag()
is not setting this flag currently, causing the hardware to randomly corrupt IP
header during transmission.

  This affects injected IPv4 packets that skips kernel IP stack processing
(e.g. DHCP), as well as all IPv6 packets, since the driver currently does not
offload csum for IPv6.

  The fix is to remove all the early return paths from mvneta_tx_set_csumflag()
which do not set the MVNETA_TX_CMD_L4_CHECKSUM_NONE flag.

  PR: 248306
  Submitted by: Mike Cui <[hidden email]>
  Reported by: Mike Cui <[hidden email]>

Changes:
  head/sys/dev/neta/if_mvneta.c

--
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[hidden email]"