Author: tuexen
Date: Sat Sep  7 00:45:24 2013
New Revision: 255337
URL: http://svnweb.freebsd.org/changeset/base/255337

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

Modified:
  head/sys/netinet/sctp_indata.c

Modified: head/sys/netinet/sctp_indata.c
==============================================================================
--- head/sys/netinet/sctp_indata.c      Fri Sep  6 23:49:54 2013        
(r255336)
+++ head/sys/netinet/sctp_indata.c      Sat Sep  7 00:45:24 2013        
(r255337)
@@ -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;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to