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:
parent
489fdedaed
commit
4256f1aaa6
|
@ -222,7 +222,7 @@ ip_vs_dst_reset(struct ip_vs_dest *dest)
|
||||||
__ret = ip_vs_confirm_conntrack(skb, cp); \
|
__ret = ip_vs_confirm_conntrack(skb, cp); \
|
||||||
if (__ret == NF_ACCEPT) { \
|
if (__ret == NF_ACCEPT) { \
|
||||||
nf_reset(skb); \
|
nf_reset(skb); \
|
||||||
(skb)->ip_summed = CHECKSUM_NONE; \
|
skb_forward_csum(skb); \
|
||||||
} \
|
} \
|
||||||
__ret; \
|
__ret; \
|
||||||
})
|
})
|
||||||
|
|
Reference in New Issue