svn commit: r196509 - head/sys/netinet

Michael Tuexen tuexen at FreeBSD.org
Mon Aug 24 11:46:40 UTC 2009


Author: tuexen
Date: Mon Aug 24 11:46:40 2009
New Revision: 196509
URL: http://svn.freebsd.org/changeset/base/196509

Log:
  This fixes a bug where the value set by SCTP_PARTIAL_DELIVERY_POINT
  was not honored, if the socket buffer size was not 4 times that large.
  
  Approved by: rrs (mentor)
  MFC after: 3 days.

Modified:
  head/sys/netinet/sctp_indata.c

Modified: head/sys/netinet/sctp_indata.c
==============================================================================
--- head/sys/netinet/sctp_indata.c	Mon Aug 24 11:16:44 2009	(r196508)
+++ head/sys/netinet/sctp_indata.c	Mon Aug 24 11:46:40 2009	(r196509)
@@ -921,7 +921,7 @@ doit_again:
 			 * but should we?
 			 */
 			if (stcb->sctp_socket) {
-				pd_point = min(SCTP_SB_LIMIT_RCV(stcb->sctp_socket) >> SCTP_PARTIAL_DELIVERY_SHIFT,
+				pd_point = min(SCTP_SB_LIMIT_RCV(stcb->sctp_socket),
 				    stcb->sctp_ep->partial_delivery_point);
 			} else {
 				pd_point = stcb->sctp_ep->partial_delivery_point;
@@ -2867,11 +2867,11 @@ doit_again:
 
 		/*
 		 * Before we start though either all of the message should
-		 * be here or 1/4 the socket buffer max or nothing on the
+		 * be here or the socket buffer max or nothing on the
 		 * delivery queue and something can be delivered.
 		 */
 		if (stcb->sctp_socket) {
-			pd_point = min(SCTP_SB_LIMIT_RCV(stcb->sctp_socket) >> SCTP_PARTIAL_DELIVERY_SHIFT,
+			pd_point = min(SCTP_SB_LIMIT_RCV(stcb->sctp_socket),
 			    stcb->sctp_ep->partial_delivery_point);
 		} else {
 			pd_point = stcb->sctp_ep->partial_delivery_point;


More information about the svn-src-head mailing list