summaryrefslogtreecommitdiffstats
path: root/net/ipv6
diff options
context:
space:
mode:
authorDaniel Borkmann <dborkman@redhat.com>2013-02-05 17:21:31 +0100
committerSimon Horman <horms@verge.net.au>2013-02-06 09:56:50 +0900
commit4b47bc9a9e69141ed3a854c57601f548e82c78ba (patch)
tree3ba347682e08ac95194e7ec323157f6f164c630a /net/ipv6
parentb425df4cdd953a400d814b4474c9d3ec04481858 (diff)
downloadop-kernel-dev-4b47bc9a9e69141ed3a854c57601f548e82c78ba.zip
op-kernel-dev-4b47bc9a9e69141ed3a854c57601f548e82c78ba.tar.gz
ipvs: sctp: fix checksumming on snat and dnat handlers
In our test lab, we have a simple SCTP client connecting to a SCTP server via an IPVS load balancer. On some machines, load balancing works, but on others the initial handshake just fails, thus no SCTP connection whatsoever can be established! We observed that the SCTP INIT-ACK handshake reply from the IPVS machine to the client had a correct IP checksum, but corrupt SCTP checksum when forwarded, thus on the client-side the packet was dropped and an intial handshake retriggered until all attempts run into the void. To fix this issue, this patch i) adds a missing CHECKSUM_UNNECESSARY after the full checksum (re-)calculation (as done in IPVS TCP and UDP code as well), ii) calculates the checksum in little-endian format (as fixed with the SCTP code in commit 4458f04c: sctp: Clean up sctp checksumming code) and iii) refactors duplicate checksum code into a common function. Tested by myself. Signed-off-by: Daniel Borkmann <dborkman@redhat.com> Acked-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'net/ipv6')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud