Lines Matching defs:control

3346 	if (inp->control) {
3347 sctp_m_freem(inp->control);
3348 inp->control = NULL;
4056 /* JRS - Use the congestion control given in the CC module */
4655 struct sctp_queued_to_read *control, *ncontrol;
4657 TAILQ_FOREACH_SAFE(control, rh, next_instrm, ncontrol) {
4658 TAILQ_REMOVE(rh, control, next_instrm);
4659 control->on_strm_q = 0;
4660 if (control->on_read_q == 0) {
4661 sctp_free_remote_addr(control->whoFrom);
4662 if (control->data) {
4663 sctp_m_freem(control->data);
4664 control->data = NULL;
4668 TAILQ_FOREACH_SAFE(chk, &control->reasm, sctp_next, nchk) {
4669 TAILQ_REMOVE(&control->reasm, chk, sctp_next);
4685 if (control->on_read_q == 0) {
4686 sctp_free_a_readq(stcb, control);
5081 /* control queue MAY not be empty */
6828 struct sctp_queued_to_read *control, *ncontrol;
6845 TAILQ_FOREACH_SAFE(control, &asoc->strmin[strmat].inqueue, next_instrm, ncontrol) {
6847 if (control->on_strm_q != SCTP_ON_ORDERED) {
6848 panic("Huh control: %p on_q: %d -- not ordered?",
6849 control, control->on_strm_q);
6852 if (SCTP_TSN_GT(control->sinfo_tsn, cumulative_tsn_p1)) {
6855 SCTP_CALC_TSN_TO_GAP(gap, control->sinfo_tsn, asoc->mapping_array_base_tsn);
6856 KASSERT(control->length > 0, ("control has zero length"));
6857 if (asoc->size_on_all_streams >= control->length) {
6858 asoc->size_on_all_streams -= control->length;
6861 panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length);
6868 if (control->on_read_q) {
6869 TAILQ_REMOVE(&stcb->sctp_ep->read_queue, control, next);
6870 control->on_read_q = 0;
6872 TAILQ_REMOVE(&asoc->strmin[strmat].inqueue, control, next_instrm);
6873 control->on_strm_q = 0;
6874 if (control->data) {
6875 sctp_m_freem(control->data);
6876 control->data = NULL;
6878 sctp_free_remote_addr(control->whoFrom);
6880 TAILQ_FOREACH_SAFE(chk, &control->reasm, sctp_next, nchk) {
6895 TAILQ_REMOVE(&control->reasm, chk, sctp_next);
6902 sctp_free_a_readq(stcb, control);
6905 TAILQ_FOREACH_SAFE(control, &asoc->strmin[strmat].uno_inqueue, next_instrm, ncontrol) {
6907 if (control->on_strm_q != SCTP_ON_UNORDERED) {
6908 panic("Huh control: %p on_q: %d -- not unordered?",
6909 control, control->on_strm_q);
6912 if (SCTP_TSN_GT(control->sinfo_tsn, cumulative_tsn_p1)) {
6915 SCTP_CALC_TSN_TO_GAP(gap, control->sinfo_tsn, asoc->mapping_array_base_tsn);
6916 KASSERT(control->length > 0, ("control has zero length"));
6917 if (asoc->size_on_all_streams >= control->length) {
6918 asoc->size_on_all_streams -= control->length;
6921 panic("size_on_all_streams = %u smaller than control length %u", asoc->size_on_all_streams, control->length);
6928 if (control->on_read_q) {
6929 TAILQ_REMOVE(&stcb->sctp_ep->read_queue, control, next);
6930 control->on_read_q = 0;
6932 TAILQ_REMOVE(&asoc->strmin[strmat].uno_inqueue, control, next_instrm);
6933 control->on_strm_q = 0;
6934 if (control->data) {
6935 sctp_m_freem(control->data);
6936 control->data = NULL;
6938 sctp_free_remote_addr(control->whoFrom);
6940 TAILQ_FOREACH_SAFE(chk, &control->reasm, sctp_next, nchk) {
6955 TAILQ_REMOVE(&control->reasm, chk, sctp_next);
6962 sctp_free_a_readq(stcb, control);