Lines Matching full:stream

7  * These functions implement sctp stream message interleaving, mostly
33 dp.stream = htons(sinfo->sinfo_stream); in sctp_make_idatafrag_empty()
50 struct sctp_stream *stream; in sctp_chunk_assign_mid() local
59 stream = &chunk->asoc->stream; in sctp_chunk_assign_mid()
76 sctp_mid_uo_next(stream, out, sid) : in sctp_chunk_assign_mid()
77 sctp_mid_uo_peek(stream, out, sid); in sctp_chunk_assign_mid()
80 sctp_mid_next(stream, out, sid) : in sctp_chunk_assign_mid()
81 sctp_mid_peek(stream, out, sid); in sctp_chunk_assign_mid()
89 struct sctp_stream *stream; in sctp_validate_data() local
98 stream = &chunk->asoc->stream; in sctp_validate_data()
102 return !SSN_lt(ssn, sctp_ssn_peek(stream, in, sid)); in sctp_validate_data()
107 struct sctp_stream *stream; in sctp_validate_idata() local
117 stream = &chunk->asoc->stream; in sctp_validate_idata()
121 return !MID_lt(mid, sctp_mid_peek(stream, in, sid)); in sctp_validate_idata()
138 if (event->stream == cevent->stream && in sctp_intl_store_reasm()
147 if ((event->stream == cevent->stream && in sctp_intl_store_reasm()
149 event->stream > cevent->stream) { in sctp_intl_store_reasm()
158 if (event->stream < cevent->stream || in sctp_intl_store_reasm()
159 (event->stream == cevent->stream && in sctp_intl_store_reasm()
164 if (event->stream == cevent->stream && in sctp_intl_store_reasm()
192 sin = sctp_stream_in(&ulpq->asoc->stream, event->stream); in sctp_intl_retrieve_partial()
197 if (cevent->stream < event->stream) in sctp_intl_retrieve_partial()
200 if (cevent->stream > event->stream || in sctp_intl_retrieve_partial()
272 sin = sctp_stream_in(&ulpq->asoc->stream, event->stream); in sctp_intl_retrieve_reassembled()
277 if (cevent->stream < event->stream) in sctp_intl_retrieve_reassembled()
279 if (cevent->stream > event->stream) in sctp_intl_retrieve_reassembled()
361 sin = sctp_stream_in(&ulpq->asoc->stream, event->stream); in sctp_intl_reasm()
385 if (event->stream == cevent->stream && in sctp_intl_store_ordered()
391 if (event->stream > cevent->stream) { in sctp_intl_store_ordered()
400 if (cevent->stream > event->stream) { in sctp_intl_store_ordered()
404 if (cevent->stream == event->stream && in sctp_intl_store_ordered()
421 struct sctp_stream *stream; in sctp_intl_retrieve_ordered() local
423 __u16 sid = event->stream; in sctp_intl_retrieve_ordered()
425 stream = &ulpq->asoc->stream; in sctp_intl_retrieve_ordered()
431 if (cevent->stream > sid) in sctp_intl_retrieve_ordered()
434 if (cevent->stream < sid) in sctp_intl_retrieve_ordered()
437 if (cevent->mid != sctp_mid_peek(stream, in, sid)) in sctp_intl_retrieve_ordered()
440 sctp_mid_next(stream, in, sid); in sctp_intl_retrieve_ordered()
451 struct sctp_stream *stream; in sctp_intl_order() local
454 stream = &ulpq->asoc->stream; in sctp_intl_order()
455 sid = event->stream; in sctp_intl_order()
457 if (event->mid != sctp_mid_peek(stream, in, sid)) { in sctp_intl_order()
462 sctp_mid_next(stream, in, sid); in sctp_intl_order()
523 if (event->stream == cevent->stream && in sctp_intl_store_reasm_uo()
532 if ((event->stream == cevent->stream && in sctp_intl_store_reasm_uo()
534 event->stream > cevent->stream) { in sctp_intl_store_reasm_uo()
542 if (event->stream < cevent->stream || in sctp_intl_store_reasm_uo()
543 (event->stream == cevent->stream && in sctp_intl_store_reasm_uo()
547 if (event->stream == cevent->stream && in sctp_intl_store_reasm_uo()
570 sin = sctp_stream_in(&ulpq->asoc->stream, event->stream); in sctp_intl_retrieve_partial_uo()
575 if (cevent->stream < event->stream) in sctp_intl_retrieve_partial_uo()
577 if (cevent->stream > event->stream) in sctp_intl_retrieve_partial_uo()
654 sin = sctp_stream_in(&ulpq->asoc->stream, event->stream); in sctp_intl_retrieve_reassembled_uo()
659 if (cevent->stream < event->stream) in sctp_intl_retrieve_reassembled_uo()
661 if (cevent->stream > event->stream) in sctp_intl_retrieve_reassembled_uo()
744 sin = sctp_stream_in(&ulpq->asoc->stream, event->stream); in sctp_intl_reasm_uo()
768 csin = sctp_stream_in(&ulpq->asoc->stream, cevent->stream); in sctp_intl_retrieve_first_uo()
780 sid = cevent->stream; in sctp_intl_retrieve_first_uo()
786 if (cevent->stream == sid && in sctp_intl_retrieve_first_uo()
874 csin = sctp_stream_in(&ulpq->asoc->stream, cevent->stream); in sctp_intl_retrieve_first()
887 sid = cevent->stream; in sctp_intl_retrieve_first()
893 if (cevent->stream == sid && in sctp_intl_retrieve_first()
1004 struct sctp_stream *stream = &ulpq->asoc->stream; in sctp_intl_reap_ordered() local
1015 csid = cevent->stream; in sctp_intl_reap_ordered()
1024 if (!MID_lt(cmid, sctp_mid_peek(stream, in, csid))) in sctp_intl_reap_ordered()
1036 csid = cevent->stream; in sctp_intl_reap_ordered()
1039 if (csid == sid && cmid == sctp_mid_peek(stream, in, csid)) { in sctp_intl_reap_ordered()
1040 sctp_mid_next(stream, in, csid); in sctp_intl_reap_ordered()
1055 struct sctp_stream *stream = &ulpq->asoc->stream; in sctp_intl_abort_pd() local
1058 for (sid = 0; sid < stream->incnt; sid++) { in sctp_intl_abort_pd()
1059 struct sctp_stream_in *sin = SCTP_SI(stream, sid); in sctp_intl_abort_pd()
1074 sctp_mid_skip(stream, in, sid, mid); in sctp_intl_abort_pd()
1085 int nskips, __be16 stream, __u8 flags) in sctp_get_skip_pos() argument
1090 if (skiplist[i].stream == stream && in sctp_get_skip_pos()
1122 __be16 sid = chunk->subh.idata_hdr->stream; in sctp_generate_iftsn()
1132 ftsn_skip_arr[skip_pos].stream = sid; in sctp_generate_iftsn()
1172 incnt = chunk->asoc->stream.incnt; in sctp_validate_fwdtsn()
1174 if (ntohs(skip->stream) >= incnt) in sctp_validate_fwdtsn()
1188 incnt = chunk->asoc->stream.incnt; in sctp_validate_iftsn()
1190 if (ntohs(skip->stream) >= incnt) in sctp_validate_iftsn()
1248 sctp_ulpq_skip(ulpq, ntohs(skip->stream), ntohs(skip->ssn)); in sctp_handle_fwdtsn()
1254 struct sctp_stream_in *sin = sctp_stream_in(&ulpq->asoc->stream, sid); in sctp_intl_skip()
1255 struct sctp_stream *stream = &ulpq->asoc->stream; in sctp_intl_skip() local
1266 if (MID_lt(mid, sctp_mid_peek(stream, in, sid))) in sctp_intl_skip()
1274 sctp_mid_skip(stream, in, sid, mid); in sctp_intl_skip()
1283 /* Walk through all the skipped MIDs and abort stream pd if possible */ in sctp_handle_iftsn()
1285 sctp_intl_skip(ulpq, ntohs(skip->stream), in sctp_handle_iftsn()
1346 void sctp_stream_interleave_init(struct sctp_stream *stream) in sctp_stream_interleave_init() argument
1350 asoc = container_of(stream, struct sctp_association, stream); in sctp_stream_interleave_init()
1351 stream->si = asoc->peer.intl_capable ? &sctp_stream_interleave_1 in sctp_stream_interleave_init()