]> bbs.cooldavid.org Git - net-next-2.6.git/commit
ipvs: fix CHECKSUM_PARTIAL for TCP, UDP
authorJulian Anastasov <ja@ssi.bg>
Sun, 17 Oct 2010 13:14:31 +0000 (16:14 +0300)
committerSimon Horman <horms@verge.net.au>
Thu, 21 Oct 2010 08:49:39 +0000 (10:49 +0200)
commit5bc9068e9d962ca6b8bec3f0eb6f60ab4dee1d04
treefaa2317aa2a175a1dff24ab62447aeddda342b8e
parentd86bef73b4a24e59e7c1f896a72bbf38430ac2c6
ipvs: fix CHECKSUM_PARTIAL for TCP, UDP

  Fix CHECKSUM_PARTIAL handling. Tested for IPv4 TCP,
UDP not tested because it needs network card with HW CSUM support.
May be fixes problem where IPVS can not be used in virtual boxes.
Problem appears with DNAT to local address when the local stack
sends reply in CHECKSUM_PARTIAL mode.

  Fix tcp_dnat_handler and udp_dnat_handler to provide
vaddr and daddr in right order (old and new IP) when calling
tcp_partial_csum_update/udp_partial_csum_update (CHECKSUM_PARTIAL).

Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Simon Horman <horms@verge.net.au>
net/netfilter/ipvs/ip_vs_proto_tcp.c
net/netfilter/ipvs/ip_vs_proto_udp.c