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;
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"