Re: How exactly does CHECKSUM_COMPLETE works?
From: Alexei Starovoitov <hidden>
Date: 2014-09-30 16:58:33
From: Alexei Starovoitov <hidden>
Date: 2014-09-30 16:58:33
On Tue, Sep 30, 2014 at 7:59 AM, Tom Herbert [off-list ref] wrote:
quoted
So, to summarize my questions - 1. What should a driver set as the SKBs csum value when passing CHECKSUM_COMPLETE?This ones complete checksum of the Ethernet payload (start of IP header to the end of the packet).
I think it's confusing to describe CHECKSUM_COMPLETE this way. It is such only because driver pulls eth header before passing skb to stack. CHECKSUM_COMPLETE should cover the whole packet. If there are multiple vlan headers in front of IP they should be part of csum, since not all drivers may have hw offloading for vlan. The most simplistic HW would compute csum over the whole packet including eth header and driver will do eth_type_trans+skb_postpull_rcsum