svn commit: r248173 - stable/8/sys/netinet

Michael Tuexen tuexen at FreeBSD.org
Mon Mar 11 18:01:56 UTC 2013


Author: tuexen
Date: Mon Mar 11 18:01:55 2013
New Revision: 248173
URL: http://svnweb.freebsd.org/changeset/base/248173

Log:
  Don't use SCTP checksum offloading for SCTP/IPv6. At least the loopback
  interface in stable/8 doesn't support it.
  
  Please note that this is a direct commit!
  
  Approved by: re@

Modified:
  stable/8/sys/netinet/sctp_output.c

Modified: stable/8/sys/netinet/sctp_output.c
==============================================================================
--- stable/8/sys/netinet/sctp_output.c	Mon Mar 11 17:43:55 2013	(r248172)
+++ stable/8/sys/netinet/sctp_output.c	Mon Mar 11 18:01:55 2013	(r248173)
@@ -4447,9 +4447,8 @@ sctp_lowlevel_chunk_output(struct sctp_i
 #if defined(SCTP_WITH_NO_CSUM)
 				SCTP_STAT_INCR(sctps_sendnocrc);
 #else
-				m->m_pkthdr.csum_flags = CSUM_SCTP;
-				m->m_pkthdr.csum_data = 0;
-				SCTP_STAT_INCR(sctps_sendhwcrc);
+				sctphdr->checksum = sctp_calculate_cksum(m, sizeof(struct ip6_hdr));
+				SCTP_STAT_INCR(sctps_sendswcrc);
 #endif
 			}
 			/* send it out. table id is taken from stcb */
@@ -11023,9 +11022,8 @@ sctp_send_resp_msg(struct sockaddr *src,
 #if defined(SCTP_WITH_NO_CSUM)
 			SCTP_STAT_INCR(sctps_sendnocrc);
 #else
-			mout->m_pkthdr.csum_flags = CSUM_SCTP;
-			mout->m_pkthdr.csum_data = 0;
-			SCTP_STAT_INCR(sctps_sendhwcrc);
+			shout->checksum = sctp_calculate_cksum(mout, sizeof(struct ip6_hdr));
+			SCTP_STAT_INCR(sctps_sendswcrc);
 #endif
 		}
 #ifdef SCTP_PACKET_LOGGING


More information about the svn-src-all mailing list