K 10 svn:author V 5 andre K 8 svn:date V 27 2012-11-19T18:09:00.332863Z K 7 svn:log V 1057 Convert the NIC drivers to the new checksum offloading semantics on the inbound path in a first step. This is a mostly mechanical conversion and the new semantics are not introduced. In short for inbound there are two levels the offloading NIC can set: CSUM_L3_CALC for an IP layer 3 checksum calculated by the NIC; CSUM_L3_VALID set when the calculated checksum matches the one in the packet; CSUM_L4_CALC for an UDP/TCP/SCTP layer 4 checksum calculated by the NIC; CSUM_L4_VALID set when the calculated checksum matche the one in the packet. From this follows that a packet failed checksum verification when only *_CALC is set but not *_VALID. The NIC is expected to deliver a failed packet up the stack anyways for capture by BPF and to record protocol specific checksum mismatch statistics. Please note that many NIC's do not or only partially follow these semantics. Some drop all packets with a failed checksum and most do not report a L4 failure but pass it on without any checksum flags set. They will have to be cleaned up later. END