• Home
  • Raw
  • Download

Lines Matching refs:chunk

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