Page MenuHomeFreeBSD

ure: improve checksum offloading
ClosedPublic

Authored by tuexen on Fri, Jan 30, 4:36 PM.
Tags
None
Referenced Files
F145304605: D54974.diff
Wed, Feb 18, 5:10 AM
F145297441: D54974.id.diff
Wed, Feb 18, 3:14 AM
Unknown Object (File)
Tue, Feb 3, 5:59 PM
Unknown Object (File)
Tue, Feb 3, 12:43 AM
Unknown Object (File)
Sun, Feb 1, 4:15 AM
Unknown Object (File)
Sat, Jan 31, 5:10 PM
Unknown Object (File)
Sat, Jan 31, 12:31 PM
Unknown Object (File)
Sat, Jan 31, 10:38 AM
Subscribers

Details

Summary

This patch fixes three issues:
(1) Initially, set the hwassist flags correctly when enabling transmit checksum offload for TCP/IPv6 and UDP/IPv6.
(2) Keep the hwassist flags in sync with the capabilities when changing txcsum.
(3) Keep the hwasssit flags in sync with the capabilities when changing txcsum6.

Without this patch, transmit checksum offloading for TCP/IPv6 and UDP/IPv6 is never used and transmit checksum offloading for IPv4, TCP/IPv4 and UDP/IPv4 is always used, even if disabled via ifconfig ue? -txcsum.

Test Plan

Tested with the ethernet interface on a Framebook.

Diff Detail

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

Event Timeline

Without this patch, transmit checksum offloading for TCP/IPv6 and UDP/IPv6 is never used and transmit checksum offloading for IPv4, TCP/IPv4 and UDP/IPv4 is always used, even if disabled via ifconfig ue? -txcsum.

I haven't tested it but that is probably what happens. This patch adds the lines needed to fix that.

This revision is now accepted and ready to land.Sat, Jan 31, 9:01 AM
This revision was automatically updated to reflect the committed changes.