Commit c6c6e3e0 authored by Herbert Xu's avatar Herbert Xu Committed by David S. Miller

[NET]: Update comments for skb checksums

Rusty (whose comments we should all study and emulate :) pointed
out that our comments for skb checksums are no longer up-to-date.
So here is a patch to

1) add the case of partial checksums on input;
2) update partial checksum case to mention csum_start/csum_offset;
3) mention the new IPv6 feature bit.
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent cfbba49d
...@@ -65,13 +65,20 @@ ...@@ -65,13 +65,20 @@
* is able to produce some skb->csum, it MUST use COMPLETE, * is able to produce some skb->csum, it MUST use COMPLETE,
* not UNNECESSARY. * not UNNECESSARY.
* *
* PARTIAL: identical to the case for output below. This may occur
* on a packet received directly from another Linux OS, e.g.,
* a virtualised Linux kernel on the same host. The packet can
* be treated in the same way as UNNECESSARY except that on
* output (i.e., forwarding) the checksum must be filled in
* by the OS or the hardware.
*
* B. Checksumming on output. * B. Checksumming on output.
* *
* NONE: skb is checksummed by protocol or csum is not required. * NONE: skb is checksummed by protocol or csum is not required.
* *
* PARTIAL: device is required to csum packet as seen by hard_start_xmit * PARTIAL: device is required to csum packet as seen by hard_start_xmit
* from skb->transport_header to the end and to record the checksum * from skb->csum_start to the end and to record the checksum
* at skb->transport_header + skb->csum. * at skb->csum_start + skb->csum_offset.
* *
* Device must show its capabilities in dev->features, set * Device must show its capabilities in dev->features, set
* at device setup time. * at device setup time.
...@@ -82,6 +89,7 @@ ...@@ -82,6 +89,7 @@
* TCP/UDP over IPv4. Sigh. Vendors like this * TCP/UDP over IPv4. Sigh. Vendors like this
* way by an unknown reason. Though, see comment above * way by an unknown reason. Though, see comment above
* about CHECKSUM_UNNECESSARY. 8) * about CHECKSUM_UNNECESSARY. 8)
* NETIF_F_IPV6_CSUM about as dumb as the last one but does IPv6 instead.
* *
* Any questions? No questions, good. --ANK * Any questions? No questions, good. --ANK
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment