Page MenuHomeFreeBSD

dwc: improve checksum offloading
ClosedPublic

Authored by tuexen on Dec 29 2025, 2:18 PM.
Tags
None
Referenced Files
F163417231: D54395.id168701.diff
Thu, Jul 23, 1:04 AM
Unknown Object (File)
Mon, Jul 20, 3:20 AM
Unknown Object (File)
Sat, Jul 18, 8:46 AM
Unknown Object (File)
Wed, Jul 15, 7:00 AM
Unknown Object (File)
Wed, Jul 15, 7:00 AM
Unknown Object (File)
Sun, Jul 5, 6:47 AM
Unknown Object (File)
Fri, Jul 3, 8:33 AM
Unknown Object (File)
Wed, Jul 1, 8:42 AM
Subscribers

Details

Summary

This patch provides two improvements for TCP/IPv4 and UDP/IPv4 checksum offloading:

  1. Use *CIC_SEG instead of *CIC_FULL, since FreeBSD always provides a pseudo header checksum.
  2. Don't make IPv4 header checksum offloading a prerequisite for TCP/IPv4 or UDP/IPv4 checksum offloading.

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

Thanks to Marek Benc for reporting the issue and testing the fix.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable