Lines Matching full:chunk

73 /* Helper function for delayed processing of SCTP ECNE chunk.  */
80 * by including the CWR chunk. This chunk contains one data
81 * element, i.e. the TSN number that was sent in the ECNE chunk.
87 struct sctp_chunk *chunk)
119 repl = sctp_make_cwr(asoc, asoc->last_cwr_tsn, chunk);
127 /* Helper function to do delayed processing of ECN CWR chunk. */
171 * second packet (not every second DATA chunk) received, and
173 * unacknowledged DATA chunk. ...
658 struct sctp_chunk *chunk,
667 if (event_type == SCTP_EVENT_T_CHUNK && subtype.chunk == SCTP_CID_ABORT)
669 (__u16)error, 0, 0, chunk,
680 abort = sctp_make_violation_max_retrans(asoc, chunk);
694 /* Process an init chunk (may be real INIT/INIT-ACK or an embedded INIT
701 struct sctp_chunk *chunk,
712 if (!sctp_process_init(asoc, chunk, sctp_source(chunk), peer_init, gfp))
766 struct sctp_chunk *chunk)
814 * using the time value carried in the HEARTBEAT ACK chunk.
822 hbinfo = (struct sctp_sender_hb_info *)chunk->skb->data;
836 struct sctp_chunk *chunk)
840 if (sctp_outq_sack(&asoc->outqueue, chunk)) {
852 * the transport for a shutdown chunk.
856 struct sctp_chunk *chunk)
860 if (chunk->transport)
861 t = chunk->transport;
865 chunk->transport = t;
954 * ADDIP Section 4.1 ASCONF Chunk Procedures
961 struct sctp_chunk *chunk)
965 t = sctp_assoc_choose_alter_transport(asoc, chunk->transport);
967 chunk->transport = t;
970 /* Process an incoming Operation Error Chunk. */
973 struct sctp_chunk *chunk)
978 while (chunk->chunk_end > chunk->skb->data) {
979 err_hdr = (struct sctp_errhdr *)(chunk->skb->data);
981 ev = sctp_ulpevent_make_remote_error(asoc, chunk, 0,
996 * an ERROR chunk reporting that it did not recognized
997 * the ASCONF chunk type, the sender of the ASCONF MUST
1109 /* Send the whole message, chunk by chunk, to the outqueue.
1116 struct sctp_chunk *chunk;
1118 list_for_each_entry(chunk, &msg->chunks, frag_list)
1119 sctp_outq_tail(&asoc->outqueue, chunk, gfp);
1214 event_type, subtype.chunk);
1242 state, subtype.chunk);
1247 state, event_type, subtype.chunk);
1252 state, event_type, subtype.chunk);
1258 status, state, event_type, subtype.chunk);
1286 struct sctp_chunk *chunk = NULL, *new_obj;
1298 chunk = event_arg;
1335 /* No chunk left in this packet may use this asoc. */
1337 chunk->asoc == asoc)
1338 chunk->pdiscard = 1;
1361 cmd->obj.chunk);
1377 cmd->obj.chunk);
1381 /* Generate an INIT ACK chunk. */
1382 new_obj = sctp_make_init_ack(asoc, chunk, GFP_ATOMIC,
1399 error = sctp_cmd_process_init(commands, asoc, chunk,
1404 /* Generate a COOKIE ECHO chunk. */
1405 new_obj = sctp_make_cookie_echo(asoc, chunk);
1407 if (cmd->obj.chunk)
1408 sctp_chunk_free(cmd->obj.chunk);
1415 /* If there is an ERROR chunk to be sent along with
1418 if (cmd->obj.chunk)
1420 SCTP_CHUNK(cmd->obj.chunk));
1433 * in the association being ABORTed if the DATA chunk
1455 /* Generate a SHUTDOWN chunk. */
1456 new_obj = sctp_make_shutdown(asoc, chunk);
1466 /* Send a chunk to the sockets layer. */
1468 __func__, cmd->obj.chunk, &asoc->ulpq);
1471 cmd->obj.chunk,
1490 /* Send a chunk to our peer. */
1491 sctp_outq_tail(&asoc->outqueue, cmd->obj.chunk, gfp);
1521 chunk);
1533 sctp_cmd_setup_t2(commands, asoc, cmd->obj.chunk);
1566 chunk = cmd->obj.chunk;
1570 chunk->transport = t;
1622 subtype, chunk, cmd->obj.u16);
1667 sctp_cmd_transport_on(commands, asoc, t, chunk);
1699 chunk->subh.sack_hdr = &sackh;
1701 SCTP_CHUNK(chunk));
1709 chunk->pdiscard = 1;
1727 cmd->obj.chunk,
1732 sctp_cmd_setup_t4(commands, asoc, cmd->obj.chunk);
1736 sctp_cmd_process_operr(commands, asoc, chunk);
1804 sctp_chunk_free(cmd->obj.chunk);
1811 /* If this is in response to a received chunk, wait until
1815 if (asoc && SCTP_EVENT_T_CHUNK == event_type && chunk) {
1816 if (chunk->end_of_packet || chunk->singleton)