Date: Mon, 27 Jul 2020 18:48:50 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 248306] if_mvneta corrupts packets on tx when txcsum is not used Message-ID: <bug-248306-227@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D248306 Bug ID: 248306 Summary: if_mvneta corrupts packets on tx when txcsum is not used Product: Base System Version: CURRENT Hardware: arm64 OS: Any Status: New Severity: Affects Many People Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: cuicui@gmail.com Created attachment 216815 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D216815&action= =3Dedit Fix 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 off= load 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. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-248306-227>