Lines Matching refs:control
281 sctp_log_strm_del(struct sctp_queued_to_read *control, struct sctp_queued_to_read *poschk, int from) in sctp_log_strm_del() argument
286 if (control == NULL) { in sctp_log_strm_del()
290 sctp_clog.x.strlog.stcb = control->stcb; in sctp_log_strm_del()
291 sctp_clog.x.strlog.n_tsn = control->sinfo_tsn; in sctp_log_strm_del()
292 sctp_clog.x.strlog.n_sseq = (uint16_t)control->mid; in sctp_log_strm_del()
293 sctp_clog.x.strlog.strm = control->sinfo_stream; in sctp_log_strm_del()
3142 struct sctp_queued_to_read *control; in sctp_notify_assoc_change() local
3227 control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination, in sctp_notify_assoc_change()
3230 if (control != NULL) { in sctp_notify_assoc_change()
3231 control->length = SCTP_BUF_LEN(m_notify); in sctp_notify_assoc_change()
3232 control->spec_flags = M_NOTIFICATION; in sctp_notify_assoc_change()
3234 control->tail_mbuf = m_notify; in sctp_notify_assoc_change()
3235 sctp_add_to_readq(inp, stcb, control, in sctp_notify_assoc_change()
3286 struct sctp_queued_to_read *control; in sctp_notify_peer_addr_change() local
3353 control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination, in sctp_notify_peer_addr_change()
3356 if (control == NULL) { in sctp_notify_peer_addr_change()
3361 control->length = SCTP_BUF_LEN(m_notify); in sctp_notify_peer_addr_change()
3362 control->spec_flags = M_NOTIFICATION; in sctp_notify_peer_addr_change()
3364 control->tail_mbuf = m_notify; in sctp_notify_peer_addr_change()
3365 sctp_add_to_readq(stcb->sctp_ep, stcb, control, in sctp_notify_peer_addr_change()
3377 struct sctp_queued_to_read *control; in sctp_notify_send_failed() local
3485 control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination, in sctp_notify_send_failed()
3488 if (control == NULL) { in sctp_notify_send_failed()
3493 control->length = SCTP_BUF_LEN(m_notify); in sctp_notify_send_failed()
3494 control->spec_flags = M_NOTIFICATION; in sctp_notify_send_failed()
3496 control->tail_mbuf = m_notify; in sctp_notify_send_failed()
3497 sctp_add_to_readq(stcb->sctp_ep, stcb, control, in sctp_notify_send_failed()
3509 struct sctp_queued_to_read *control; in sctp_notify_send_failed2() local
3585 control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination, in sctp_notify_send_failed2()
3588 if (control == NULL) { in sctp_notify_send_failed2()
3593 control->length = SCTP_BUF_LEN(m_notify); in sctp_notify_send_failed2()
3594 control->spec_flags = M_NOTIFICATION; in sctp_notify_send_failed2()
3596 control->tail_mbuf = m_notify; in sctp_notify_send_failed2()
3597 sctp_add_to_readq(stcb->sctp_ep, stcb, control, in sctp_notify_send_failed2()
3607 struct sctp_queued_to_read *control; in sctp_notify_adaptation_layer() local
3635 control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination, in sctp_notify_adaptation_layer()
3638 if (control == NULL) { in sctp_notify_adaptation_layer()
3643 control->length = SCTP_BUF_LEN(m_notify); in sctp_notify_adaptation_layer()
3644 control->spec_flags = M_NOTIFICATION; in sctp_notify_adaptation_layer()
3646 control->tail_mbuf = m_notify; in sctp_notify_adaptation_layer()
3647 sctp_add_to_readq(stcb->sctp_ep, stcb, control, in sctp_notify_adaptation_layer()
3659 struct sctp_queued_to_read *control; in sctp_notify_partial_delivery_indication() local
3689 control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination, in sctp_notify_partial_delivery_indication()
3692 if (control == NULL) { in sctp_notify_partial_delivery_indication()
3697 control->length = SCTP_BUF_LEN(m_notify); in sctp_notify_partial_delivery_indication()
3698 control->spec_flags = M_NOTIFICATION; in sctp_notify_partial_delivery_indication()
3700 control->tail_mbuf = m_notify; in sctp_notify_partial_delivery_indication()
3703 sctp_sblog(sb, control->do_not_ref_stcb ? NULL : stcb, SCTP_LOG_SBALLOC, SCTP_BUF_LEN(m_notify)); in sctp_notify_partial_delivery_indication()
3707 sctp_sblog(sb, control->do_not_ref_stcb ? NULL : stcb, SCTP_LOG_SBRESULT, 0); in sctp_notify_partial_delivery_indication()
3709 control->end_added = 1; in sctp_notify_partial_delivery_indication()
3710 TAILQ_INSERT_AFTER(&stcb->sctp_ep->read_queue, aborted_control, control, next); in sctp_notify_partial_delivery_indication()
3722 struct sctp_queued_to_read *control; in sctp_notify_shutdown_event() local
3758 control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination, in sctp_notify_shutdown_event()
3761 if (control == NULL) { in sctp_notify_shutdown_event()
3766 control->length = SCTP_BUF_LEN(m_notify); in sctp_notify_shutdown_event()
3767 control->spec_flags = M_NOTIFICATION; in sctp_notify_shutdown_event()
3769 control->tail_mbuf = m_notify; in sctp_notify_shutdown_event()
3770 sctp_add_to_readq(stcb->sctp_ep, stcb, control, in sctp_notify_shutdown_event()
3780 struct sctp_queued_to_read *control; in sctp_notify_sender_dry_event() local
3808 control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination, in sctp_notify_sender_dry_event()
3811 if (control == NULL) { in sctp_notify_sender_dry_event()
3816 control->length = SCTP_BUF_LEN(m_notify); in sctp_notify_sender_dry_event()
3817 control->spec_flags = M_NOTIFICATION; in sctp_notify_sender_dry_event()
3819 control->tail_mbuf = m_notify; in sctp_notify_sender_dry_event()
3820 sctp_add_to_readq(stcb->sctp_ep, stcb, control, in sctp_notify_sender_dry_event()
3829 struct sctp_queued_to_read *control; in sctp_notify_stream_reset_add() local
3868 control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination, in sctp_notify_stream_reset_add()
3871 if (control == NULL) { in sctp_notify_stream_reset_add()
3876 control->length = SCTP_BUF_LEN(m_notify); in sctp_notify_stream_reset_add()
3877 control->spec_flags = M_NOTIFICATION; in sctp_notify_stream_reset_add()
3879 control->tail_mbuf = m_notify; in sctp_notify_stream_reset_add()
3880 sctp_add_to_readq(stcb->sctp_ep, stcb, control, in sctp_notify_stream_reset_add()
3889 struct sctp_queued_to_read *control; in sctp_notify_stream_reset_tsn() local
3922 control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination, in sctp_notify_stream_reset_tsn()
3925 if (control == NULL) { in sctp_notify_stream_reset_tsn()
3930 control->length = SCTP_BUF_LEN(m_notify); in sctp_notify_stream_reset_tsn()
3931 control->spec_flags = M_NOTIFICATION; in sctp_notify_stream_reset_tsn()
3933 control->tail_mbuf = m_notify; in sctp_notify_stream_reset_tsn()
3934 sctp_add_to_readq(stcb->sctp_ep, stcb, control, in sctp_notify_stream_reset_tsn()
3944 struct sctp_queued_to_read *control; in sctp_notify_stream_reset() local
3989 control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination, in sctp_notify_stream_reset()
3992 if (control == NULL) { in sctp_notify_stream_reset()
3997 control->length = SCTP_BUF_LEN(m_notify); in sctp_notify_stream_reset()
3998 control->spec_flags = M_NOTIFICATION; in sctp_notify_stream_reset()
4000 control->tail_mbuf = m_notify; in sctp_notify_stream_reset()
4001 sctp_add_to_readq(stcb->sctp_ep, stcb, control, in sctp_notify_stream_reset()
4012 struct sctp_queued_to_read *control; in sctp_notify_remote_error() local
4059 control = sctp_build_readq_entry(stcb, stcb->asoc.primary_destination, in sctp_notify_remote_error()
4062 if (control != NULL) { in sctp_notify_remote_error()
4063 control->length = SCTP_BUF_LEN(m_notify); in sctp_notify_remote_error()
4064 control->spec_flags = M_NOTIFICATION; in sctp_notify_remote_error()
4066 control->tail_mbuf = m_notify; in sctp_notify_remote_error()
4067 sctp_add_to_readq(stcb->sctp_ep, stcb, control, in sctp_notify_remote_error()
4802 struct sctp_queued_to_read *control, *nctl; in sctp_pull_off_control_to_new_inp() local
4825 TAILQ_FOREACH_SAFE(control, &old_inp->read_queue, next, nctl) { in sctp_pull_off_control_to_new_inp()
4827 if (control->stcb == stcb) { in sctp_pull_off_control_to_new_inp()
4829 TAILQ_REMOVE(&old_inp->read_queue, control, next); in sctp_pull_off_control_to_new_inp()
4830 TAILQ_INSERT_TAIL(&tmp_queue, control, next); in sctp_pull_off_control_to_new_inp()
4831 m = control->data; in sctp_pull_off_control_to_new_inp()
4834 …sctp_sblog(&old_so->so_rcv, control->do_not_ref_stcb ? NULL : stcb, SCTP_LOG_SBFREE, SCTP_BUF_LEN(… in sctp_pull_off_control_to_new_inp()
4836 sctp_sbfree(control, stcb, &old_so->so_rcv, m); in sctp_pull_off_control_to_new_inp()
4838 sctp_sblog(&old_so->so_rcv, control->do_not_ref_stcb ? NULL : stcb, SCTP_LOG_SBRESULT, 0); in sctp_pull_off_control_to_new_inp()
4849 TAILQ_FOREACH_SAFE(control, &tmp_queue, next, nctl) { in sctp_pull_off_control_to_new_inp()
4850 TAILQ_INSERT_TAIL(&new_inp->read_queue, control, next); in sctp_pull_off_control_to_new_inp()
4851 m = control->data; in sctp_pull_off_control_to_new_inp()
4854 …sctp_sblog(&new_so->so_rcv, control->do_not_ref_stcb ? NULL : stcb, SCTP_LOG_SBALLOC, SCTP_BUF_LEN… in sctp_pull_off_control_to_new_inp()
4858 sctp_sblog(&new_so->so_rcv, control->do_not_ref_stcb ? NULL : stcb, SCTP_LOG_SBRESULT, 0); in sctp_pull_off_control_to_new_inp()
4884 struct sctp_queued_to_read *control, in sctp_add_to_readq() argument
4908 if (!control->on_strm_q) { in sctp_add_to_readq()
4909 sctp_free_remote_addr(control->whoFrom); in sctp_add_to_readq()
4910 if (control->data) { in sctp_add_to_readq()
4911 sctp_m_freem(control->data); in sctp_add_to_readq()
4912 control->data = NULL; in sctp_add_to_readq()
4914 sctp_free_a_readq(stcb, control); in sctp_add_to_readq()
4921 if ((control->spec_flags & M_NOTIFICATION) == 0) { in sctp_add_to_readq()
4923 if (!control->do_not_ref_stcb) { in sctp_add_to_readq()
4927 m = control->data; in sctp_add_to_readq()
4928 control->held_length = 0; in sctp_add_to_readq()
4929 control->length = 0; in sctp_add_to_readq()
4935 control->data = sctp_m_free(m); in sctp_add_to_readq()
4936 m = control->data; in sctp_add_to_readq()
4942 control->tail_mbuf = prev; in sctp_add_to_readq()
4948 sctp_sblog(sb, control->do_not_ref_stcb ? NULL : stcb, SCTP_LOG_SBALLOC, SCTP_BUF_LEN(m)); in sctp_add_to_readq()
4952 sctp_sblog(sb, control->do_not_ref_stcb ? NULL : stcb, SCTP_LOG_SBRESULT, 0); in sctp_add_to_readq()
4954 atomic_add_int(&control->length, SCTP_BUF_LEN(m)); in sctp_add_to_readq()
4958 control->tail_mbuf = prev; in sctp_add_to_readq()
4961 if (!control->on_strm_q) { in sctp_add_to_readq()
4962 sctp_free_remote_addr(control->whoFrom); in sctp_add_to_readq()
4963 sctp_free_a_readq(stcb, control); in sctp_add_to_readq()
4970 control->end_added = 1; in sctp_add_to_readq()
4972 TAILQ_INSERT_TAIL(&inp->read_queue, control, next); in sctp_add_to_readq()
4973 control->on_read_q = 1; in sctp_add_to_readq()
5533 struct sctp_queued_to_read *control = NULL, *ctl = NULL, *nxt = NULL; in sctp_sorecvmsg() local
5687 control = TAILQ_FIRST(&inp->read_queue); in sctp_sorecvmsg()
5688 if (control == NULL) { in sctp_sorecvmsg()
5697 control = TAILQ_FIRST(&inp->read_queue); in sctp_sorecvmsg()
5698 if ((control == NULL) && (SCTP_SBAVAIL(&so->so_rcv) > 0)) { in sctp_sorecvmsg()
5709 if ((control->length == 0) && in sctp_sorecvmsg()
5710 (control->do_not_ref_stcb)) { in sctp_sorecvmsg()
5720 control->held_length = 0; in sctp_sorecvmsg()
5721 if (control->data) { in sctp_sorecvmsg()
5726 m_tmp = control->data; in sctp_sorecvmsg()
5730 control->tail_mbuf = m_tmp; in sctp_sorecvmsg()
5731 control->end_added = 1; in sctp_sorecvmsg()
5735 control->length = cnt; in sctp_sorecvmsg()
5738 TAILQ_REMOVE(&inp->read_queue, control, next); in sctp_sorecvmsg()
5740 sctp_free_remote_addr(control->whoFrom); in sctp_sorecvmsg()
5741 sctp_free_a_readq(stcb, control); in sctp_sorecvmsg()
5749 if ((control->length == 0) && in sctp_sorecvmsg()
5750 (control->end_added == 1)) { in sctp_sorecvmsg()
5759 TAILQ_REMOVE(&inp->read_queue, control, next); in sctp_sorecvmsg()
5760 if (control->data) { in sctp_sorecvmsg()
5765 sctp_m_freem(control->data); in sctp_sorecvmsg()
5766 control->data = NULL; in sctp_sorecvmsg()
5769 if (control->aux_data) { in sctp_sorecvmsg()
5770 sctp_m_free(control->aux_data); in sctp_sorecvmsg()
5771 control->aux_data = NULL; in sctp_sorecvmsg()
5774 if (control->on_strm_q) { in sctp_sorecvmsg()
5776 control, so, control->on_strm_q); in sctp_sorecvmsg()
5779 sctp_free_remote_addr(control->whoFrom); in sctp_sorecvmsg()
5780 sctp_free_a_readq(stcb, control); in sctp_sorecvmsg()
5787 if (control->length == 0) { in sctp_sorecvmsg()
5791 ctl = TAILQ_NEXT(control, next); in sctp_sorecvmsg()
5793 if ((ctl->stcb != control->stcb) && (ctl->length) && in sctp_sorecvmsg()
5806 control = ctl; in sctp_sorecvmsg()
5822 control = ctl; in sctp_sorecvmsg()
5834 control->held_length = SCTP_SBAVAIL(&so->so_rcv); in sctp_sorecvmsg()
5838 control->held_length = 0; in sctp_sorecvmsg()
5848 control->some_taken++; in sctp_sorecvmsg()
5849 stcb = control->stcb; in sctp_sorecvmsg()
5851 if ((control->do_not_ref_stcb == 0) && in sctp_sorecvmsg()
5855 } else if (control->do_not_ref_stcb == 0) { in sctp_sorecvmsg()
5888 ((control->spec_flags & M_NOTIFICATION) == 0) && in sctp_sorecvmsg()
5889 control->do_not_ref_stcb == 0) { in sctp_sorecvmsg()
5890 stcb->asoc.strmin[control->sinfo_stream].delivery_started = 1; in sctp_sorecvmsg()
5895 sinfo->sinfo_stream = control->sinfo_stream; in sctp_sorecvmsg()
5896 sinfo->sinfo_ssn = (uint16_t)control->mid; in sctp_sorecvmsg()
5897 sinfo->sinfo_flags = control->sinfo_flags; in sctp_sorecvmsg()
5898 sinfo->sinfo_ppid = control->sinfo_ppid; in sctp_sorecvmsg()
5899 sinfo->sinfo_context = control->sinfo_context; in sctp_sorecvmsg()
5900 sinfo->sinfo_timetolive = control->sinfo_timetolive; in sctp_sorecvmsg()
5901 sinfo->sinfo_tsn = control->sinfo_tsn; in sctp_sorecvmsg()
5902 sinfo->sinfo_cumtsn = control->sinfo_cumtsn; in sctp_sorecvmsg()
5903 sinfo->sinfo_assoc_id = control->sinfo_assoc_id; in sctp_sorecvmsg()
5904 nxt = TAILQ_NEXT(control, next); in sctp_sorecvmsg()
5946 if ((control->do_not_ref_stcb == 0) && stcb) in sctp_sorecvmsg()
5953 if ((control->sinfo_flags >> 8) & SCTP_DATA_UNORDERED) { in sctp_sorecvmsg()
5970 entry->vtag = control->sinfo_assoc_id; in sctp_sorecvmsg()
5971 entry->strm = control->sinfo_stream; in sctp_sorecvmsg()
5972 entry->seq = (uint16_t)control->mid; in sctp_sorecvmsg()
5973 entry->sz = control->length; in sctp_sorecvmsg()
5974 entry->flgs = control->sinfo_flags; in sctp_sorecvmsg()
5981 switch (control->whoFrom->ro._l_addr.sa.sa_family) { in sctp_sorecvmsg()
5985 store.sin6 = control->whoFrom->ro._l_addr.sin6; in sctp_sorecvmsg()
5986 store.sin6.sin6_port = control->port_from; in sctp_sorecvmsg()
5994 in6_sin_2_v4mapsin6(&control->whoFrom->ro._l_addr.sin, in sctp_sorecvmsg()
5996 store.sin6.sin6_port = control->port_from; in sctp_sorecvmsg()
5999 store.sin = control->whoFrom->ro._l_addr.sin; in sctp_sorecvmsg()
6000 store.sin.sin_port = control->port_from; in sctp_sorecvmsg()
6004 store.sin = control->whoFrom->ro._l_addr.sin; in sctp_sorecvmsg()
6005 store.sin.sin_port = control->port_from; in sctp_sorecvmsg()
6035 m = control->data; in sctp_sorecvmsg()
6055 if ((control->do_not_ref_stcb == 0) && stcb && in sctp_sorecvmsg()
6067 (control->end_added)) { in sctp_sorecvmsg()
6069 if ((control->do_not_ref_stcb == 0) && in sctp_sorecvmsg()
6070 (control->stcb != NULL) && in sctp_sorecvmsg()
6071 ((control->spec_flags & M_NOTIFICATION) == 0)) in sctp_sorecvmsg()
6072 control->stcb->asoc.strmin[control->sinfo_stream].delivery_started = 0; in sctp_sorecvmsg()
6074 if (control->spec_flags & M_NOTIFICATION) { in sctp_sorecvmsg()
6086 control->do_not_ref_stcb ? NULL : stcb, SCTP_LOG_SBFREE, SCTP_BUF_LEN(m)); in sctp_sorecvmsg()
6088 sctp_sbfree(control, stcb, &so->so_rcv, m); in sctp_sorecvmsg()
6091 control->do_not_ref_stcb ? NULL : stcb, SCTP_LOG_SBRESULT, 0); in sctp_sorecvmsg()
6096 atomic_subtract_int(&control->length, (int)cp_len); in sctp_sorecvmsg()
6097 control->data = sctp_m_free(m); in sctp_sorecvmsg()
6098 m = control->data; in sctp_sorecvmsg()
6103 if (control->data == NULL) { in sctp_sorecvmsg()
6105 if ((control->end_added == 0) || in sctp_sorecvmsg()
6106 (TAILQ_NEXT(control, next) == NULL)) { in sctp_sorecvmsg()
6119 control->tail_mbuf = NULL; in sctp_sorecvmsg()
6121 if ((control->end_added) && ((out_flags & MSG_EOR) == 0)) { in sctp_sorecvmsg()
6129 if (control->spec_flags & M_NOTIFICATION) { in sctp_sorecvmsg()
6136 sctp_sblog(&so->so_rcv, control->do_not_ref_stcb ? NULL : stcb, SCTP_LOG_SBFREE, (int)cp_len); in sctp_sorecvmsg()
6139 if ((control->do_not_ref_stcb == 0) && in sctp_sorecvmsg()
6147 sctp_sblog(&so->so_rcv, control->do_not_ref_stcb ? NULL : stcb, in sctp_sorecvmsg()
6150 atomic_subtract_int(&control->length, (int)cp_len); in sctp_sorecvmsg()
6159 (control->do_not_ref_stcb == 0) && in sctp_sorecvmsg()
6171 if (control->length == 0) { in sctp_sorecvmsg()
6172 if (control->data) { in sctp_sorecvmsg()
6177 sctp_m_freem(control->data); in sctp_sorecvmsg()
6178 control->data = NULL; in sctp_sorecvmsg()
6186 TAILQ_REMOVE(&inp->read_queue, control, next); in sctp_sorecvmsg()
6188 if (control->held_length) { in sctp_sorecvmsg()
6190 control->held_length = 0; in sctp_sorecvmsg()
6193 if (control->aux_data) { in sctp_sorecvmsg()
6194 sctp_m_free(control->aux_data); in sctp_sorecvmsg()
6195 control->aux_data = NULL; in sctp_sorecvmsg()
6197 no_rcv_needed = control->do_not_ref_stcb; in sctp_sorecvmsg()
6198 sctp_free_remote_addr(control->whoFrom); in sctp_sorecvmsg()
6199 control->data = NULL; in sctp_sorecvmsg()
6201 if (control->on_strm_q) { in sctp_sorecvmsg()
6203 control, so, control->on_strm_q); in sctp_sorecvmsg()
6206 sctp_free_a_readq(stcb, control); in sctp_sorecvmsg()
6207 control = NULL; in sctp_sorecvmsg()
6220 if (control->end_added && in sctp_sorecvmsg()
6221 (control->data == NULL) && in sctp_sorecvmsg()
6222 (control->tail_mbuf == NULL)) { in sctp_sorecvmsg()
6226 no_rcv_needed = control->do_not_ref_stcb; in sctp_sorecvmsg()
6259 (control->do_not_ref_stcb == 0) && in sctp_sorecvmsg()
6279 if ((copied_so_far) && (control->length == 0) && in sctp_sorecvmsg()
6283 if (SCTP_SBAVAIL(&so->so_rcv) <= control->held_length) { in sctp_sorecvmsg()
6288 control->held_length = 0; in sctp_sorecvmsg()
6294 if (control->length == 0) { in sctp_sorecvmsg()
6296 if (control->end_added == 1) { in sctp_sorecvmsg()
6299 if (control->pdapi_aborted) { in sctp_sorecvmsg()
6300 if ((control->do_not_ref_stcb == 0) && ((control->spec_flags & M_NOTIFICATION) == 0)) in sctp_sorecvmsg()
6301 control->stcb->asoc.strmin[control->sinfo_stream].delivery_started = 0; in sctp_sorecvmsg()
6305 if ((control->do_not_ref_stcb == 0) && ((control->spec_flags & M_NOTIFICATION) == 0)) in sctp_sorecvmsg()
6306 control->stcb->asoc.strmin[control->sinfo_stream].delivery_started = 0; in sctp_sorecvmsg()
6311 control->held_length = SCTP_SBAVAIL(&so->so_rcv); in sctp_sorecvmsg()
6315 } else if (control->data == NULL) { in sctp_sorecvmsg()
6321 if ((control->length > 0) && (control->data == NULL)) { in sctp_sorecvmsg()
6331 control->length = 0; in sctp_sorecvmsg()
6345 if ((control->end_added == 0) || in sctp_sorecvmsg()
6346 (TAILQ_NEXT(control, next) == NULL)) { in sctp_sorecvmsg()
6353 if (control->end_added) { in sctp_sorecvmsg()
6355 if ((control->do_not_ref_stcb == 0) && in sctp_sorecvmsg()
6356 (control->stcb != NULL) && in sctp_sorecvmsg()
6357 ((control->spec_flags & M_NOTIFICATION) == 0)) in sctp_sorecvmsg()
6358 control->stcb->asoc.strmin[control->sinfo_stream].delivery_started = 0; in sctp_sorecvmsg()
6360 if (control->spec_flags & M_NOTIFICATION) { in sctp_sorecvmsg()
6363 uio->uio_resid = control->length; in sctp_sorecvmsg()
6364 *mp = control->data; in sctp_sorecvmsg()
6365 m = control->data; in sctp_sorecvmsg()
6369 control->do_not_ref_stcb ? NULL : stcb, SCTP_LOG_SBFREE, SCTP_BUF_LEN(m)); in sctp_sorecvmsg()
6371 sctp_sbfree(control, stcb, &so->so_rcv, m); in sctp_sorecvmsg()
6376 control->do_not_ref_stcb ? NULL : stcb, SCTP_LOG_SBRESULT, 0); in sctp_sorecvmsg()
6380 control->data = control->tail_mbuf = NULL; in sctp_sorecvmsg()
6381 control->length = 0; in sctp_sorecvmsg()
6407 (control && (control->do_not_ref_stcb == 0)) && in sctp_sorecvmsg()