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.

Change History (3)

comment:1 by waddlesplash, 10 months ago

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.

comment:2 by waddlesplash, 4 months ago

Receive checksum offloading for FreeBSD drivers done in hrev57893.

comment:3 by waddlesplash, 3 months ago

And for virtio-net in hrev57902~1.

Note: See TracTickets for help on using tickets.