On Tue, Oct 15, 2013 at 10:01:30PM -0400, Vlad Yasevich wrote: > From: Fan Du <fan.du@xxxxxxxxxxxxx> > > igb/ixgbe have hardware sctp checksum support, when this feature is enabled > and also IPsec is armed to protect sctp traffic, ugly things happened as > xfrm_output checks CHECKSUM_PARTIAL to do checksum operation(sum every thing > up and pack the 16bits result in the checksum field). The result is fail > establishment of sctp communication. > > Cc: Neil Horman <nhorman@xxxxxxxxxxxxx> > Cc: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> > Signed-off-by: Fan Du <fan.du@xxxxxxxxxxxxx> > Signed-off-by: Vlad Yasevich <vyasevich@xxxxxxxxx> > --- > net/sctp/output.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/net/sctp/output.c b/net/sctp/output.c > index 0ac3a65..d35b54c 100644 > --- a/net/sctp/output.c > +++ b/net/sctp/output.c > @@ -536,7 +536,8 @@ int sctp_packet_transmit(struct sctp_packet *packet) > * by CRC32-C as described in <draft-ietf-tsvwg-sctpcsum-02.txt>. > */ > if (!sctp_checksum_disable) { > - if (!(dst->dev->features & NETIF_F_SCTP_CSUM)) { > + if (!(dst->dev->features & NETIF_F_SCTP_CSUM) || > + (dst_xfrm(dst) != NULL)) { > __u32 crc32 = sctp_start_cksum((__u8 *)sh, cksum_buf_len); > > /* 3) Put the resultant value into the checksum field in the > -- > 1.8.3.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-sctp" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-sctp" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html