HomeFreeBSD

dwc: improve IPv4 transmit checksum offloading

Description

dwc: improve IPv4 transmit checksum offloading

This patch provides two improvements for TCP/IPv4 and UDP/IPv4
transmit checksum offloading:
(1) Use *CIC_SEG instead of *CIC_FULL, since FreeBSD always provides

a pseudo header checksum.

(2) Don't make transmit IPv4 header checksum offloading a prerequisite

for TCP/IPv4 or UDP/IPv4 transmit checksum offloading.

This is the root cause of PR 291696, since right now the epair
interface does not support transmit IPv4 header checksum offloading,
but TCP/IPv4 and UDP/IPv4 transmit checksum offloading.

PR: 291696
Reviewed by: Timo Voelker
Tested by: Marek Benc
Differential Revision: https://reviews.freebsd.org/D54395

(cherry picked from commit f8ddf74175c8013268e65b18750e247306fa088a)

Details

Provenance
tuexenAuthored on Jan 16 2026, 11:02 AM
Differential Revision
D54395: dwc: improve checksum offloading
Parents
rG0b2cf69287bb: linuxkpi: Take const root in read-only radix tree functions
Branches
Unknown
Tags
Unknown