Lines Matching refs:asoc
64 struct sctp_stream *stream = &q->asoc->stream; in sctp_sched_fcfs_dequeue()
134 int sctp_sched_set_sched(struct sctp_association *asoc, in sctp_sched_set_sched() argument
138 struct sctp_sched_ops *old = asoc->outqueue.sched; in sctp_sched_set_sched()
150 old->free(&asoc->stream); in sctp_sched_set_sched()
153 for (i = 0; i < asoc->stream.outcnt; i++) { in sctp_sched_set_sched()
154 void *p = SCTP_SO(&asoc->stream, i)->ext; in sctp_sched_set_sched()
165 asoc->outqueue.sched = n; in sctp_sched_set_sched()
166 n->init(&asoc->stream); in sctp_sched_set_sched()
167 for (i = 0; i < asoc->stream.outcnt; i++) { in sctp_sched_set_sched()
168 if (!SCTP_SO(&asoc->stream, i)->ext) in sctp_sched_set_sched()
171 ret = n->init_sid(&asoc->stream, i, GFP_ATOMIC); in sctp_sched_set_sched()
177 list_for_each_entry(ch, &asoc->outqueue.out_chunk_list, list) { in sctp_sched_set_sched()
181 n->enqueue(&asoc->outqueue, msg); in sctp_sched_set_sched()
187 n->free(&asoc->stream); in sctp_sched_set_sched()
188 asoc->outqueue.sched = &sctp_sched_fcfs; /* Always safe */ in sctp_sched_set_sched()
193 int sctp_sched_get_sched(struct sctp_association *asoc) in sctp_sched_get_sched() argument
198 if (asoc->outqueue.sched == sctp_sched_ops[i]) in sctp_sched_get_sched()
204 int sctp_sched_set_value(struct sctp_association *asoc, __u16 sid, in sctp_sched_set_value() argument
207 if (sid >= asoc->stream.outcnt) in sctp_sched_set_value()
210 if (!SCTP_SO(&asoc->stream, sid)->ext) { in sctp_sched_set_value()
213 ret = sctp_stream_init_ext(&asoc->stream, sid); in sctp_sched_set_value()
218 return asoc->outqueue.sched->set(&asoc->stream, sid, value, gfp); in sctp_sched_set_value()
221 int sctp_sched_get_value(struct sctp_association *asoc, __u16 sid, in sctp_sched_get_value() argument
224 if (sid >= asoc->stream.outcnt) in sctp_sched_get_value()
227 if (!SCTP_SO(&asoc->stream, sid)->ext) in sctp_sched_get_value()
230 return asoc->outqueue.sched->get(&asoc->stream, sid, value); in sctp_sched_get_value()
236 !q->asoc->peer.intl_capable) { in sctp_sched_dequeue_done()
245 sout = SCTP_SO(&q->asoc->stream, sid); in sctp_sched_dequeue_done()
246 q->asoc->stream.out_curr = sout; in sctp_sched_dequeue_done()
250 q->asoc->stream.out_curr = NULL; in sctp_sched_dequeue_done()
273 struct sctp_association *asoc; in sctp_sched_ops_from_stream() local
275 asoc = container_of(stream, struct sctp_association, stream); in sctp_sched_ops_from_stream()
277 return asoc->outqueue.sched; in sctp_sched_ops_from_stream()