svn commit: r265964 - stable/9/sys/netinet

Michael Tuexen tuexen at FreeBSD.org
Tue May 13 17:25:39 UTC 2014


Author: tuexen
Date: Tue May 13 17:25:39 2014
New Revision: 265964
URL: http://svnweb.freebsd.org/changeset/base/265964

Log:
  MFC r255337:
  
  When computing the partial delivery point, take the
  receiver socket buffer size correctly into account.

Modified:
  stable/9/sys/netinet/sctp_indata.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/netinet/sctp_indata.c
==============================================================================
--- stable/9/sys/netinet/sctp_indata.c	Tue May 13 17:23:39 2014	(r265963)
+++ stable/9/sys/netinet/sctp_indata.c	Tue May 13 17:25:39 2014	(r265964)
@@ -789,13 +789,12 @@ doit_again:
 			 * but should we?
 			 */
 			if (stcb->sctp_socket) {
-				pd_point = min(SCTP_SB_LIMIT_RCV(stcb->sctp_socket),
+				pd_point = min(SCTP_SB_LIMIT_RCV(stcb->sctp_socket) >> SCTP_PARTIAL_DELIVERY_SHIFT,
 				    stcb->sctp_ep->partial_delivery_point);
 			} else {
 				pd_point = stcb->sctp_ep->partial_delivery_point;
 			}
 			if (sctp_is_all_msg_on_reasm(asoc, &tsize) || (tsize >= pd_point)) {
-
 				/*
 				 * Yes, we setup to start reception, by
 				 * backing down the TSN just in case we
@@ -2491,7 +2490,7 @@ doit_again:
 		 * delivery queue and something can be delivered.
 		 */
 		if (stcb->sctp_socket) {
-			pd_point = min(SCTP_SB_LIMIT_RCV(stcb->sctp_socket),
+			pd_point = min(SCTP_SB_LIMIT_RCV(stcb->sctp_socket) >> SCTP_PARTIAL_DELIVERY_SHIFT,
 			    stcb->sctp_ep->partial_delivery_point);
 		} else {
 			pd_point = stcb->sctp_ep->partial_delivery_point;


More information about the svn-src-stable-9 mailing list