Author: tuexen Date: Sat Sep 12 17:58:15 2009 New Revision: 197122 URL: http://svn.freebsd.org/changeset/base/197122
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. MFC of 196509. Approved by: re, rrs (mentor)` Modified: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) stable/8/sys/netinet/sctp_indata.c Modified: stable/8/sys/netinet/sctp_indata.c ============================================================================== --- stable/8/sys/netinet/sctp_indata.c Sat Sep 12 17:36:00 2009 (r197121) +++ stable/8/sys/netinet/sctp_indata.c Sat Sep 12 17:58:15 2009 (r197122) @@ -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; @@ -2862,11 +2862,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; _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"