diff options
| author | Patrick McHardy <kaber@trash.net> | 2006-08-29 16:44:56 -0700 | 
|---|---|---|
| committer | David S. Miller <davem@sunset.davemloft.net> | 2006-09-22 14:53:53 -0700 | 
| commit | 84fa7933a33f806bbbaae6775e87459b1ec584c0 (patch) | |
| tree | 5be404225d90f640997b12f631e9b496b3fd0d61 /net/core/skbuff.c | |
| parent | 8584d6df39db5601965f9bc5e3bf2fea833ad7bb (diff) | |
| download | olio-linux-3.10-84fa7933a33f806bbbaae6775e87459b1ec584c0.tar.xz olio-linux-3.10-84fa7933a33f806bbbaae6775e87459b1ec584c0.zip  | |
[NET]: Replace CHECKSUM_HW by CHECKSUM_PARTIAL/CHECKSUM_COMPLETE
Replace CHECKSUM_HW by CHECKSUM_PARTIAL (for outgoing packets, whose
checksum still needs to be completed) and CHECKSUM_COMPLETE (for
incoming packets, device supplied full checksum).
Patch originally from Herbert Xu, updated by myself for 2.6.18-rc3.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/skbuff.c')
| -rw-r--r-- | net/core/skbuff.c | 14 | 
1 files changed, 7 insertions, 7 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index c54f3664bce..8a476f1956e 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -1397,7 +1397,7 @@ void skb_copy_and_csum_dev(const struct sk_buff *skb, u8 *to)  	unsigned int csum;  	long csstart; -	if (skb->ip_summed == CHECKSUM_HW) +	if (skb->ip_summed == CHECKSUM_PARTIAL)  		csstart = skb->h.raw - skb->data;  	else  		csstart = skb_headlen(skb); @@ -1411,7 +1411,7 @@ void skb_copy_and_csum_dev(const struct sk_buff *skb, u8 *to)  		csum = skb_copy_and_csum_bits(skb, csstart, to + csstart,  					      skb->len - csstart, 0); -	if (skb->ip_summed == CHECKSUM_HW) { +	if (skb->ip_summed == CHECKSUM_PARTIAL) {  		long csstuff = csstart + skb->csum;  		*((unsigned short *)(to + csstuff)) = csum_fold(csum); @@ -1898,10 +1898,10 @@ int skb_append_datato_frags(struct sock *sk, struct sk_buff *skb,   *	@len: length of data pulled   *   *	This function performs an skb_pull on the packet and updates - *	update the CHECKSUM_HW checksum.  It should be used on receive - *	path processing instead of skb_pull unless you know that the - *	checksum difference is zero (e.g., a valid IP header) or you - *	are setting ip_summed to CHECKSUM_NONE. + *	update the CHECKSUM_COMPLETE checksum.  It should be used on + *	receive path processing instead of skb_pull unless you know + *	that the checksum difference is zero (e.g., a valid IP header) + *	or you are setting ip_summed to CHECKSUM_NONE.   */  unsigned char *skb_pull_rcsum(struct sk_buff *skb, unsigned int len)  { @@ -1994,7 +1994,7 @@ struct sk_buff *skb_segment(struct sk_buff *skb, int features)  		frag = skb_shinfo(nskb)->frags;  		k = 0; -		nskb->ip_summed = CHECKSUM_HW; +		nskb->ip_summed = CHECKSUM_PARTIAL;  		nskb->csum = skb->csum;  		memcpy(skb_put(nskb, hsize), skb->data + offset, hsize);  |