diff options
author | Vlad Yasevich <vladislav.yasevich@hp.com> | 2008-09-18 02:48:25 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-09-18 02:48:25 -0700 |
commit | a3028b8ed1e1e9930bfa70ce4555fb7f9fad3dcc (patch) | |
tree | 45f2e4fe7618dbf79f0a6ff74ddaa308ddc27277 /net/sctp/output.c | |
parent | 93821778def10ec1e69aa3ac10adee975dad4ff3 (diff) | |
download | linux-3.10-a3028b8ed1e1e9930bfa70ce4555fb7f9fad3dcc.tar.gz linux-3.10-a3028b8ed1e1e9930bfa70ce4555fb7f9fad3dcc.tar.bz2 linux-3.10-a3028b8ed1e1e9930bfa70ce4555fb7f9fad3dcc.zip |
sctp: set the skb->ip_summed correctly when sending over loopback.
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>
Diffstat (limited to 'net/sctp/output.c')
-rw-r--r-- | net/sctp/output.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/sctp/output.c b/net/sctp/output.c index 0dc4a7dfb23..225c7123c41 100644 --- a/net/sctp/output.c +++ b/net/sctp/output.c @@ -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. |