Opened 10 months ago
Last modified 3 months ago
#18744 new enhancement
Network packet checksum offloading
Reported by: | waddlesplash | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | Network & Internet | Version: | R1/beta4 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
Many of the imported FreeBSD drivers support checksum calculation and validation being offloaded to the hardware. Currently we do not take any advantage of this in our network stack.
Note:
See TracTickets
for help on using tickets.
Probably we need to pass net_buffers down into drivers (this would save at least one level of memory copies, too), and then have fields in net_buffers (or just add more flags.) For validation, we can just set flags on the packet to indicate what checksums have been validated when receiving; for computation, we would need to have some mechanism to "defer" checksum computation, either for all packets (and perform the computation at the lower layer if no offloading was available) or conditionally only for those packets destined for an interface that could compute the checksums.