Lines Matching refs:chunk

88 /* Helper function for delayed processing of SCTP ECNE chunk.  */
95 * by including the CWR chunk. This chunk contains one data
96 * element, i.e. the TSN number that was sent in the ECNE chunk.
102 struct sctp_chunk *chunk)
134 repl = sctp_make_cwr(asoc, asoc->last_cwr_tsn, chunk);
142 /* Helper function to do delayed processing of ECN CWR chunk. */
186 * second packet (not every second DATA chunk) received, and
188 * unacknowledged DATA chunk. ...
567 struct sctp_chunk *chunk,
575 if (event_type == SCTP_EVENT_T_CHUNK && subtype.chunk == SCTP_CID_ABORT)
577 (__u16)error, 0, 0, chunk,
588 abort = sctp_make_violation_max_retrans(asoc, chunk);
602 /* Process an init chunk (may be real INIT/INIT-ACK or an embedded INIT
609 struct sctp_chunk *chunk,
620 if (!sctp_process_init(asoc, chunk, sctp_source(chunk), peer_init, gfp))
686 struct sctp_chunk *chunk)
734 * using the time value carried in the HEARTBEAT ACK chunk.
742 hbinfo = (sctp_sender_hb_info_t *) chunk->skb->data;
757 struct sctp_chunk *chunk)
761 if (sctp_outq_sack(&asoc->outqueue, chunk)) {
775 * the transport for a shutdown chunk.
779 struct sctp_chunk *chunk)
783 if (chunk->transport)
784 t = chunk->transport;
788 chunk->transport = t;
874 struct sctp_chunk *chunk)
878 t = sctp_assoc_choose_alter_transport(asoc, chunk->transport);
880 chunk->transport = t;
886 struct sctp_chunk *chunk)
891 while (chunk->chunk_end > chunk->skb->data) {
892 err_hdr = (struct sctp_errhdr *)(chunk->skb->data);
894 ev = sctp_ulpevent_make_remote_error(asoc, chunk, 0,
909 * an ERROR chunk reporting that it did not recognized
910 * the ASCONF chunk type, the sender of the ASCONF MUST
933 /* Process variable FWDTSN chunk information. */
935 struct sctp_chunk *chunk)
939 sctp_walk_fwdtsn(skip, chunk) {
1023 /* Send the whole message, chunk by chunk, to the outqueue.
1030 struct sctp_chunk *chunk;
1033 list_for_each_entry(chunk, &msg->chunks, frag_list) {
1034 error = sctp_outq_tail(&asoc->outqueue, chunk);
1050 /* Send the next asconf chunk from the addip chunk
1059 /* Hold the chunk until an ASCONF_ACK is received. */
1159 event_type, subtype.chunk);
1186 state, subtype.chunk);
1191 state, event_type, subtype.chunk);
1196 state, event_type, subtype.chunk);
1202 status, state, event_type, subtype.chunk);
1230 struct sctp_chunk *chunk = NULL;
1239 chunk = event_arg;
1309 sctp_cmd_process_fwdtsn(&asoc->ulpq, cmd->obj.chunk);
1325 cmd->obj.chunk);
1329 /* Generate an INIT ACK chunk. */
1330 new_obj = sctp_make_init_ack(asoc, chunk, GFP_ATOMIC,
1345 error = sctp_cmd_process_init(commands, asoc, chunk,
1350 /* Generate a COOKIE ECHO chunk. */
1351 new_obj = sctp_make_cookie_echo(asoc, chunk);
1353 if (cmd->obj.chunk)
1354 sctp_chunk_free(cmd->obj.chunk);
1360 /* If there is an ERROR chunk to be sent along with
1363 if (cmd->obj.chunk)
1365 SCTP_CHUNK(cmd->obj.chunk));
1378 * in the association being ABORTed if the DATA chunk
1400 /* Generate a SHUTDOWN chunk. */
1401 new_obj = sctp_make_shutdown(asoc, chunk);
1409 /* Send a chunk to the sockets layer. */
1411 __func__, cmd->obj.chunk, &asoc->ulpq);
1413 sctp_ulpq_tail_data(&asoc->ulpq, cmd->obj.chunk,
1431 /* Send a chunk to our peer. */
1432 error = sctp_outq_tail(&asoc->outqueue, cmd->obj.chunk);
1462 chunk);
1474 sctp_cmd_setup_t2(commands, asoc, cmd->obj.chunk);
1508 chunk = cmd->obj.chunk;
1512 chunk->transport = t;
1564 subtype, chunk, cmd->obj.err);
1609 sctp_cmd_transport_on(commands, asoc, t, chunk);
1636 chunk->subh.sack_hdr = &sackh;
1638 SCTP_CHUNK(chunk));
1646 chunk->pdiscard = 1;
1663 sctp_ulpq_renege(&asoc->ulpq, cmd->obj.chunk,
1668 sctp_cmd_setup_t4(commands, asoc, cmd->obj.chunk);
1672 sctp_cmd_process_operr(commands, asoc, chunk);
1737 /* If this is in response to a received chunk, wait until
1741 if (asoc && SCTP_EVENT_T_CHUNK == event_type && chunk) {
1742 if (chunk->end_of_packet || chunk->singleton)