Page MenuHomeFreeBSD

loopback: checksum offloading
ClosedPublic

Authored by timo.voelker_fh-muenster.de on Jun 10 2026, 7:38 AM.
Tags
None
Referenced Files
F163700715: D57518.diff
Sat, Jul 25, 1:59 PM
Unknown Object (File)
Tue, Jul 21, 3:15 PM
Unknown Object (File)
Mon, Jul 20, 4:20 PM
Unknown Object (File)
Sat, Jul 18, 7:58 PM
Unknown Object (File)
Wed, Jul 15, 3:58 PM
Unknown Object (File)
Wed, Jul 15, 7:25 AM
Unknown Object (File)
Wed, Jul 15, 7:25 AM
Unknown Object (File)
Tue, Jul 14, 7:45 PM

Details

Summary

Currently the loopback interface does not work with SCTP/TCP/UDP if IFCAP_RXCSUM is disabled and IFCAP_TXCSUM is enabled. This patch fixes that and cleans up checksum offloading-related stuff.

  • Allow disabling IFCAP_RXCSUM_IPV6 or IFCAP_TXCSUM_IPV6.
  • Do not pretend the checksum is correct by setting the LO_CSUM_SET flags if IFCAP_RXCSUM_IPV6 or IFCAP_RXCSUM is enabled. Instead, remove the LO_CSUM_SET flags (in case they have been set somehow) if IFCAP_RXCSUM_IPV6 or IFCAP_RXCSUM is disabled.
  • Do not unset the transmit checksum offload flags LO_CSUM_FEATURES or LO_CSUM_FEATURES6 since they have a meaning for the receive path since D51475 and D54455.
Test Plan

Initially, ssh 127.0.0.1 works. After disabling IFCAP_RXCSUM,

ifconfig lo0 -rxcsum

ssh 127.0.0.1 does not work. It works after this patch has been applied.

Diff Detail

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