Page MenuHomeFreeBSD

loopback: checksum offloading
AcceptedPublic

Authored by timo.voelker_fh-muenster.de on Wed, Jun 10, 7:38 AM.

Details

Reviewers
tuexen
jhb
glebius
bz
gallatin
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