• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/net/sctp/

Lines Matching refs:chunk

6  * This file contains the code relating the chunk abstraction.
79 struct sctp_chunk *chunk;
91 chunk = list_entry(pos, struct sctp_chunk, frag_list);
94 asoc = chunk->asoc;
108 if (chunk->has_tsn)
113 ev = sctp_ulpevent_make_send_failed(asoc, chunk, sent,
119 sctp_chunk_put(chunk);
148 void sctp_datamsg_track(struct sctp_chunk *chunk)
150 sctp_chunk_hold(chunk);
153 /* Assign a chunk to this datamsg. */
154 static void sctp_datamsg_assign(struct sctp_datamsg *msg, struct sctp_chunk *chunk)
157 chunk->msg = msg;
161 /* A data chunk can have a maximum payload of (2^16 - 20). Break
174 struct sctp_chunk *chunk;
230 chunk = sctp_make_datafrag_empty(asoc, sinfo, len, frag, 0);
232 if (!chunk)
234 err = sctp_user_addto_chunk(chunk, offset, len, msgh->msg_iov);
240 /* Put the chunk->skb back into the form expected by send. */
241 __skb_pull(chunk->skb, (__u8 *)chunk->chunk_hdr
242 - (__u8 *)chunk->skb->data);
244 sctp_datamsg_assign(msg, chunk);
245 list_add_tail(&chunk->frag_list, &msg->chunks);
247 /* The first chunk, the first chunk was likely short
261 chunk = sctp_make_datafrag_empty(asoc, sinfo, over, frag, 0);
263 if (!chunk)
266 err = sctp_user_addto_chunk(chunk, offset, over,msgh->msg_iov);
268 /* Put the chunk->skb back into the form expected by send. */
269 __skb_pull(chunk->skb, (__u8 *)chunk->chunk_hdr
270 - (__u8 *)chunk->skb->data);
274 sctp_datamsg_assign(msg, chunk);
275 list_add_tail(&chunk->frag_list, &msg->chunks);
283 chunk = list_entry(pos, struct sctp_chunk, frag_list);
284 sctp_chunk_free(chunk);
291 int sctp_chunk_abandoned(struct sctp_chunk *chunk)
293 struct sctp_datamsg *msg = chunk->msg;
304 /* This chunk (and consequently entire message) has failed in its sending. */
305 void sctp_chunk_fail(struct sctp_chunk *chunk, int error)
307 chunk->msg->send_failed = 1;
308 chunk->msg->send_error = error;