sctp: Perform software checksum if packet has to be fragmented.
authorVlad Yasevich <vyasevich@gmail.com>
Wed, 16 Oct 2013 02:01:31 +0000 (22:01 -0400)
committerDavid S. Miller <davem@davemloft.net>
Thu, 17 Oct 2013 19:24:44 +0000 (15:24 -0400)
commitd2dbbba77e95dff4b4f901fee236fef6d9552072
treebf5d26559a9cdb4c00ec2bb15b1ea2c18e214a8e
parent27127a82561a2a3ed955ce207048e1b066a80a2a
sctp: Perform software checksum if packet has to be fragmented.

IP/IPv6 fragmentation knows how to compute only TCP/UDP checksum.
This causes problems if SCTP packets has to be fragmented and
ipsummed has been set to PARTIAL due to checksum offload support.
This condition can happen when retransmitting after MTU discover,
or when INIT or other control chunks are larger then MTU.
Check for the rare fragmentation condition in SCTP and use software
checksum calculation in this case.

CC: Fan Du <fan.du@windriver.com>
Signed-off-by: Vlad Yasevich <vyasevich@gmail.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sctp/output.c