sctp: set the skb->ip_summed correctly when sending over loopback.
authorVlad Yasevich <vladislav.yasevich@hp.com>
Thu, 18 Sep 2008 09:48:25 +0000 (02:48 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 18 Sep 2008 09:48:25 +0000 (02:48 -0700)
Loopback used to clobber the ip_summed filed which sctp then used
to figure out if it needed to do checksumming or not.  Now that
loopback doesn't do that any more, sctp needs to set the ip_summed
field correctly.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sctp/output.c

index 0dc4a7d..225c712 100644 (file)
@@ -533,7 +533,8 @@ int sctp_packet_transmit(struct sctp_packet *packet)
        if (!(dst->dev->features & NETIF_F_NO_CSUM)) {
                crc32 = sctp_start_cksum((__u8 *)sh, cksum_buf_len);
                crc32 = sctp_end_cksum(crc32);
-       }
+       } else
+               nskb->ip_summed = CHECKSUM_UNNECESSARY;
 
        /* 3) Put the resultant value into the checksum field in the
         *    common header, and leave the rest of the bits unchanged.