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
F101323554: D5320.diff
Sun, Oct 27, 7:45 PM
Unknown Object (File)
Wed, Oct 23, 4:35 AM
Unknown Object (File)
Sun, Sep 29, 11:25 PM
Unknown Object (File)
Sep 20 2024, 3:23 PM
Unknown Object (File)
Sep 20 2024, 6:22 AM
Unknown Object (File)
Sep 19 2024, 10:27 AM
Unknown Object (File)
Sep 18 2024, 9:06 AM
Unknown Object (File)
Sep 18 2024, 12:41 AM
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