]> git.baikalelectronics.ru Git - kernel.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)
commit85e146872919700717eeabb5af2d435e3b19c82e
treefaa2317aa2a175a1dff24ab62447aeddda342b8e
parent81cae05ab3e7373b83a7d79723a13c4e1ef392a7
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