diff options
author | Patrick McHardy <kaber@trash.net> | 2006-08-29 19:44:56 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-09-22 17:53:53 -0400 |
commit | 84fa7933a33f806bbbaae6775e87459b1ec584c0 (patch) | |
tree | 5be404225d90f640997b12f631e9b496b3fd0d61 /net/ipv4/ip_output.c | |
parent | 8584d6df39db5601965f9bc5e3bf2fea833ad7bb (diff) |
[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/ipv4/ip_output.c')
-rw-r--r-- | net/ipv4/ip_output.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index 308bdeac3455..1b9b6742ef77 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c | |||
@@ -680,7 +680,7 @@ ip_generic_getfrag(void *from, char *to, int offset, int len, int odd, struct sk | |||
680 | { | 680 | { |
681 | struct iovec *iov = from; | 681 | struct iovec *iov = from; |
682 | 682 | ||
683 | if (skb->ip_summed == CHECKSUM_HW) { | 683 | if (skb->ip_summed == CHECKSUM_PARTIAL) { |
684 | if (memcpy_fromiovecend(to, iov, offset, len) < 0) | 684 | if (memcpy_fromiovecend(to, iov, offset, len) < 0) |
685 | return -EFAULT; | 685 | return -EFAULT; |
686 | } else { | 686 | } else { |
@@ -736,7 +736,7 @@ static inline int ip_ufo_append_data(struct sock *sk, | |||
736 | /* initialize protocol header pointer */ | 736 | /* initialize protocol header pointer */ |
737 | skb->h.raw = skb->data + fragheaderlen; | 737 | skb->h.raw = skb->data + fragheaderlen; |
738 | 738 | ||
739 | skb->ip_summed = CHECKSUM_HW; | 739 | skb->ip_summed = CHECKSUM_PARTIAL; |
740 | skb->csum = 0; | 740 | skb->csum = 0; |
741 | sk->sk_sndmsg_off = 0; | 741 | sk->sk_sndmsg_off = 0; |
742 | } | 742 | } |
@@ -844,7 +844,7 @@ int ip_append_data(struct sock *sk, | |||
844 | length + fragheaderlen <= mtu && | 844 | length + fragheaderlen <= mtu && |
845 | rt->u.dst.dev->features & NETIF_F_ALL_CSUM && | 845 | rt->u.dst.dev->features & NETIF_F_ALL_CSUM && |
846 | !exthdrlen) | 846 | !exthdrlen) |
847 | csummode = CHECKSUM_HW; | 847 | csummode = CHECKSUM_PARTIAL; |
848 | 848 | ||
849 | inet->cork.length += length; | 849 | inet->cork.length += length; |
850 | if (((length > mtu) && (sk->sk_protocol == IPPROTO_UDP)) && | 850 | if (((length > mtu) && (sk->sk_protocol == IPPROTO_UDP)) && |