ethernet: add checksum offloading#194
Open
GaurikaSohnvi wants to merge 2 commits intorenode:masterfrom
Open
Conversation
Validate IP header and payload checksums on received frames when MACCR.IPC (Checksum Offload) is enabled. Report results via IpHeaderError, IpPayloadError, and IpChecksumBypassed fields in the RX descriptor writeback. UDP checksum validation is skipped for IPv4 when the checksum field is zero, per RFC 768.
TX checksum insertion was incorrectly gated on MACCR.IPC, which only controls RX checksum offload. TX checksum insertion is controlled by the per-descriptor CIC (Checksum Insertion Control) field per the DWC spec. This caused packets to be transmitted with zero checksums when IPC was not set, even though the firmware requested checksum insertion via the descriptor. TSO now unconditionally enables checksum offload as segmentation inherently requires it.
5f87e33 to
d833407
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.