Page MenuHomeFreeBSD

Add support for hardware Tx and Rx checksums to VNIC driver
ClosedPublic

Authored by zbb on Feb 18 2016, 12:11 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Aug 13, 4:44 AM
Unknown Object (File)
Tue, Jul 23, 4:52 PM
Unknown Object (File)
Jul 4 2024, 3:39 PM
Unknown Object (File)
Jun 30 2024, 8:35 PM
Unknown Object (File)
Jun 30 2024, 3:44 AM
Unknown Object (File)
Jun 28 2024, 5:28 AM
Unknown Object (File)
May 21 2024, 11:34 AM
Unknown Object (File)
May 16 2024, 7:09 PM
Subscribers

Details

Summary
  • The network controller verifies Rx TCP/UDP/SCTP checksums by default. Communicate this to the stack when the packet is not marked as erroneous to avoid redundant checksum calculation in kernel.
  • It is not uncommon to get the mbuf with m_len that is less than the minimal size for the IP, TCP, UDP, etc. when HW checsumming is enabled. To avoid data corruption performed by the HW that is intended to write IP and TCP/UDP/SCTP checksums to the data segment, the mbuf needs to be pulled up by the required number of bytes.
  • Make sure that one can modify the mbufs that require checsum calculation rather than check for NULL mbuf on each transmission.

Reviewed by:
Obtained from: Semihalf
Sponsored by: Cavium
Differential Revision:

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

zbb retitled this revision from to Add support for hardware Tx and Rx checksums to VNIC driver.
zbb updated this object.
zbb edited the test plan for this revision. (Show Details)
zbb added reviewers: imp, andrew, wma.
zbb set the repository for this revision to rS FreeBSD src repository - subversion.
zbb added a subscriber: arm64.
wma edited edge metadata.
This revision is now accepted and ready to land.Feb 23 2016, 8:45 AM