Page MenuHomeFreeBSD

loopback: checksum offloading
AcceptedPublic

Authored by timo.voelker_fh-muenster.de on Wed, Jun 10, 7:38 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Jun 22, 3:54 PM
Unknown Object (File)
Sat, Jun 20, 5:40 PM
Unknown Object (File)
Thu, Jun 18, 1:54 AM
Unknown Object (File)
Tue, Jun 16, 5:11 PM
Unknown Object (File)
Tue, Jun 16, 4:41 PM
Unknown Object (File)
Tue, Jun 16, 4:40 PM
Unknown Object (File)
Tue, Jun 16, 8:22 AM
Unknown Object (File)
Mon, Jun 15, 3:34 AM

Details

Reviewers
tuexen
jhb
glebius
bz
gallatin
pouria
Group Reviewers
manpages
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 Skipped
Unit
Tests Skipped