ipvs: fix CHECKSUM_PARTIAL for TUN method

The recent change in IP_VS_XMIT_TUNNEL to set
CHECKSUM_NONE is not correct. After adding IPIP header
skb->csum becomes invalid but the CHECKSUM_PARTIAL
case must be supported. So, use skb_forward_csum() which is
most suitable for us to allow local clients to send IPIP
to remote real server.

Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Simon Horman <horms@verge.net.au>
This commit is contained in:
Julian Anastasov 2010-10-17 16:29:40 +03:00 committed by Simon Horman
parent 489fdedaed
commit 4256f1aaa6

View File

@ -222,7 +222,7 @@ ip_vs_dst_reset(struct ip_vs_dest *dest)
__ret = ip_vs_confirm_conntrack(skb, cp); \
if (__ret == NF_ACCEPT) { \
nf_reset(skb); \
(skb)->ip_summed = CHECKSUM_NONE; \
skb_forward_csum(skb); \
} \
__ret; \
})