Lines Matching defs:chunk

48 static void sctp_chunk_assign_mid(struct sctp_chunk *chunk)
55 if (chunk->has_mid)
58 sid = sctp_chunk_stream_no(chunk);
59 stream = &chunk->asoc->stream;
61 list_for_each_entry(lchunk, &chunk->msg->chunks, frag_list) {
87 static bool sctp_validate_data(struct sctp_chunk *chunk)
92 if (chunk->chunk_hdr->type != SCTP_CID_DATA)
95 if (chunk->chunk_hdr->flags & SCTP_DATA_UNORDERED)
98 stream = &chunk->asoc->stream;
99 sid = sctp_chunk_stream_no(chunk);
100 ssn = ntohs(chunk->subh.data_hdr->ssn);
105 static bool sctp_validate_idata(struct sctp_chunk *chunk)
111 if (chunk->chunk_hdr->type != SCTP_CID_I_DATA)
114 if (chunk->chunk_hdr->flags & SCTP_DATA_UNORDERED)
117 stream = &chunk->asoc->stream;
118 sid = sctp_chunk_stream_no(chunk);
119 mid = ntohl(chunk->subh.idata_hdr->mid);
820 struct sctp_chunk *chunk, gfp_t gfp)
826 event = sctp_ulpevent_make_rcvmsg(chunk->asoc, chunk, gfp);
830 event->mid = ntohl(chunk->subh.idata_hdr->mid);
832 event->ppid = chunk->subh.idata_hdr->ppid;
834 event->fsn = ntohl(chunk->subh.idata_hdr->fsn);
954 static void sctp_renege_events(struct sctp_ulpq *ulpq, struct sctp_chunk *chunk,
961 needed = ntohs(chunk->chunk_hdr->length) -
974 if (freed >= needed && sctp_ulpevent_idata(ulpq, chunk, gfp) <= 0)
1105 struct sctp_chunk *chunk;
1115 chunk = list_entry(lchunk, struct sctp_chunk, transmitted_list);
1116 tsn = ntohl(chunk->subh.data_hdr->tsn);
1120 sctp_chunk_free(chunk);
1122 __be16 sid = chunk->subh.idata_hdr->stream;
1123 __be32 mid = chunk->subh.idata_hdr->mid;
1126 if (chunk->chunk_hdr->flags & SCTP_DATA_UNORDERED)
1155 #define _sctp_walk_ifwdtsn(pos, chunk, end) \
1156 for (pos = (void *)(chunk->subh.ifwdtsn_hdr + 1); \
1157 (void *)pos <= (void *)(chunk->subh.ifwdtsn_hdr + 1) + (end) - \
1164 static bool sctp_validate_fwdtsn(struct sctp_chunk *chunk)
1169 if (chunk->chunk_hdr->type != SCTP_CID_FWD_TSN)
1172 incnt = chunk->asoc->stream.incnt;
1173 sctp_walk_fwdtsn(skip, chunk)
1180 static bool sctp_validate_iftsn(struct sctp_chunk *chunk)
1185 if (chunk->chunk_hdr->type != SCTP_CID_I_FWD_TSN)
1188 incnt = chunk->asoc->stream.incnt;
1189 sctp_walk_ifwdtsn(skip, chunk)
1242 static void sctp_handle_fwdtsn(struct sctp_ulpq *ulpq, struct sctp_chunk *chunk)
1247 sctp_walk_fwdtsn(skip, chunk)
1279 static void sctp_handle_iftsn(struct sctp_ulpq *ulpq, struct sctp_chunk *chunk)
1284 sctp_walk_ifwdtsn(skip, chunk)