Lines Matching refs:asoc
41 void sctp_ulpq_init(struct sctp_ulpq *ulpq, struct sctp_association *asoc) in sctp_ulpq_init() argument
45 ulpq->asoc = asoc; in sctp_ulpq_init()
90 event = sctp_ulpevent_make_rcvmsg(chunk->asoc, chunk, gfp); in sctp_ulpq_tail_data()
125 int sctp_clear_pd(struct sock *sk, struct sctp_association *asoc) in sctp_clear_pd() argument
144 if (!skb_queue_empty(&sp->pd_lobby) && asoc) { in sctp_clear_pd()
150 if (event->asoc == asoc) { in sctp_clear_pd()
165 struct sctp_sock *sp = sctp_sk(ulpq->asoc->base.sk); in sctp_ulpq_set_pd()
176 return sctp_clear_pd(ulpq->asoc->base.sk, ulpq->asoc); in sctp_ulpq_clear_pd()
181 struct sock *sk = ulpq->asoc->base.sk; in sctp_ulpq_tail_event()
204 if (!sctp_ulpevent_is_enabled(event, ulpq->asoc->subscribe)) in sctp_ulpq_tail_event()
403 struct sctp_association *asoc; in sctp_ulpq_retrieve_reassembled() local
469 asoc = ulpq->asoc; in sctp_ulpq_retrieve_reassembled()
476 if (!sctp_sk(asoc->base.sk)->frag_interleave && in sctp_ulpq_retrieve_reassembled()
477 atomic_read(&sctp_sk(asoc->base.sk)->pd_mode)) in sctp_ulpq_retrieve_reassembled()
481 pd_point = sctp_sk(asoc->base.sk)->pd_point; in sctp_ulpq_retrieve_reassembled()
483 retval = sctp_make_reassembled_event(asoc->base.net, in sctp_ulpq_retrieve_reassembled()
493 retval = sctp_make_reassembled_event(ulpq->asoc->base.net, in sctp_ulpq_retrieve_reassembled()
559 retval = sctp_make_reassembled_event(ulpq->asoc->base.net, &ulpq->reasm, in sctp_ulpq_retrieve_partial()
592 ctsnap = sctp_tsnmap_get_ctsn(&ulpq->asoc->peer.tsn_map); in sctp_ulpq_reasm()
660 retval = sctp_make_reassembled_event(ulpq->asoc->base.net, &ulpq->reasm, in sctp_ulpq_retrieve_first()
749 stream = &ulpq->asoc->stream; in sctp_ulpq_retrieve_ordered()
843 stream = &ulpq->asoc->stream; in sctp_ulpq_order()
878 stream = &ulpq->asoc->stream; in sctp_ulpq_reap_ordered()
943 stream = &ulpq->asoc->stream; in sctp_ulpq_skip()
967 tsnmap = &ulpq->asoc->peer.tsn_map; in sctp_ulpq_renege_list()
1023 struct sctp_association *asoc; in sctp_ulpq_partial_delivery() local
1028 asoc = ulpq->asoc; in sctp_ulpq_partial_delivery()
1029 sp = sctp_sk(asoc->base.sk); in sctp_ulpq_partial_delivery()
1040 skb = skb_peek(&asoc->ulpq.reasm); in sctp_ulpq_partial_delivery()
1043 if (!TSN_lte(ctsn, sctp_tsnmap_get_ctsn(&asoc->peer.tsn_map))) in sctp_ulpq_partial_delivery()
1072 struct sctp_association *asoc = ulpq->asoc; in sctp_ulpq_renege() local
1079 if (skb_queue_empty(&asoc->base.sk->sk_receive_queue)) { in sctp_ulpq_renege()
1085 if (sk_rmem_schedule(asoc->base.sk, chunk->skb, needed) && in sctp_ulpq_renege()
1111 sk = ulpq->asoc->base.sk; in sctp_ulpq_abort_pd()
1113 if (sctp_ulpevent_type_enabled(ulpq->asoc->subscribe, in sctp_ulpq_abort_pd()
1115 ev = sctp_ulpevent_make_pdapi(ulpq->asoc, in sctp_ulpq_abort_pd()