svn commit: r255337 - head/sys/netinet
Michael Tuexen
tuexen at FreeBSD.org
Sat Sep 7 00:45:25 UTC 2013
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;
More information about the svn-src-head
mailing list