Lines Matching defs:packet
204 * C) Rules for packet carrying SHUTDOWN COMPLETE:
206 * - The receiver of a SHUTDOWN COMPLETE shall accept the packet
207 * if the Verification Tag field of the packet matches its own tag and
212 * Otherwise, the receiver MUST silently discard the packet
319 struct sctp_packet *packet;
333 * enforce these rules by silently discarding an arriving packet
342 * just discard the packet.
347 /* If the packet is an OOTB packet which is temporarily on the
355 /* 3.1 A packet containing an INIT chunk MUST have a zero Verification
379 packet = sctp_abort_pkt_new(net, ep, asoc, arg,
387 if (packet) {
389 SCTP_PACKET(packet));
491 * DATA chunks, but it MUST be the first chunk in the packet and
518 struct sctp_packet *packet;
551 packet = sctp_abort_pkt_new(net, ep, asoc, arg,
559 if (packet) {
561 SCTP_PACKET(packet));
575 * can't destroy this association just because the packet
668 * chunk MUST be the first chunk in the packet.
675 * D) Rules for packet carrying a COOKIE ECHO
709 /* If the packet is an OOTB packet which is temporarily on the
998 /* Generate and sendout a heartbeat packet. */
1024 /* Generate a HEARTBEAT packet on the given transport. */
1110 * When receiving an SCTP packet, the endpoint MUST ensure that the
1111 * value in the Verification Tag field of the received SCTP packet
1114 * discard the packet and shall not process it any further except for
1313 /* Discard the rest of the inbound packet. */
1318 * the packet will get dropped.
1454 /* No match to any of the special cases; discard this packet. */
1473 struct sctp_packet *packet;
1487 * enforce these rules by silently discarding an arriving packet
1497 /* 3.1 A packet containing an INIT chunk MUST have a zero Verification
1518 packet = sctp_abort_pkt_new(net, ep, asoc, arg,
1524 if (packet) {
1526 SCTP_PACKET(packet));
1702 * the Peer's-Tie-Tag and the Local-Tie-Tag. The outbound SCTP packet
2233 default: /* Discard packet for all others. */
2280 * packet.
2326 * packet.
2421 * we are discarding the packet, there should be no adverse
2553 * B) Rules for packet carrying ABORT:
2556 * outbound packet with the destination endpoint's tag value if it
2559 * - If the ABORT is sent in response to an OOTB packet, the endpoint
2562 * - The receiver MUST accept the packet if the Verification Tag
2564 * receiver MUST silently discard the packet and take no further
2596 * packet.
2670 * packet.
3079 /* If this is a newer ECNE than the last CWR packet we sent out */
3094 * acknowledgement SHOULD be generated for at least every second packet
3103 * incoming packet, other than to update the offered window as the
3167 /* If this is the last chunk in a packet, we need to count it
3169 * OTHER packet containing data chunks, EVEN IF WE DISCARD
3181 * least every second packet (not every second DATA chunk)
3197 * When a packet arrives with duplicate DATA chunk(s) and with
3199 * SACK with no delay. If a packet arrives with duplicate
3280 * respond to each received packet containing one or more DATA chunk(s)
3387 * Generate an ABORT in response to a packet.
3391 * 8) The receiver should respond to the sender of the OOTB packet with
3392 * an ABORT. When sending the ABORT, the receiver of the OOTB packet
3393 * MUST fill in the Verification Tag field of the outbound packet
3395 * packet and set the T-bit in the Chunk Flags to indicate that the
3397 * receiver of the OOTB packet shall discard the OOTB packet and take
3412 struct sctp_packet *packet = NULL;
3416 packet = sctp_ootb_pkt_new(net, asoc, chunk);
3417 if (!packet)
3425 sctp_ootb_pkt_free(packet);
3431 packet->vtag = ntohl(chunk->sctp_hdr->vtag);
3436 sctp_packet_append_chunk(packet, abort);
3439 SCTP_PACKET(packet));
3559 * 5) If the packet contains a SHUTDOWN ACK chunk, the receiver should
3560 * respond to the sender of the OOTB packet with a SHUTDOWN COMPLETE.
3562 * packet must fill in the Verification Tag field of the outbound
3563 * packet with the Verification Tag received in the SHUTDOWN ACK and
3567 * 8) The receiver should respond to the sender of the OOTB packet with
3568 * an ABORT. When sending the ABORT, the receiver of the OOTB packet
3569 * MUST fill in the Verification Tag field of the outbound packet
3571 * packet and set the T-bit in the Chunk Flags to indicate that the
3573 * receiver of the OOTB packet shall discard the OOTB packet and take
3622 /* RFC 8.4, 7) If the packet contains a "Stale cookie" ERROR
3655 * 5) If the packet contains a SHUTDOWN ACK chunk, the receiver should
3656 * respond to the sender of the OOTB packet with a SHUTDOWN COMPLETE.
3658 * packet must fill in the Verification Tag field of the outbound
3659 * packet with the Verification Tag received in the SHUTDOWN ACK and
3679 struct sctp_packet *packet = NULL;
3683 packet = sctp_ootb_pkt_new(net, asoc, chunk);
3684 if (!packet)
3692 sctp_ootb_pkt_free(packet);
3698 packet->vtag = ntohl(chunk->sctp_hdr->vtag);
3703 sctp_packet_append_chunk(packet, shut);
3706 SCTP_PACKET(packet));
3710 /* We need to discard the rest of the packet to prevent
3720 * Verification Tag: 8.5.1 E) Rules for packet carrying a SHUTDOWN ACK
3723 * should be treated as an Out Of The Blue packet.
3746 * to a restarted association. So the packet is treated as an OOTB
3747 * packet and the state function that handles OOTB SHUTDOWN_ACK is
3803 /* If this is the first instance of ASCONF in the packet,
3812 * the response packet and cache a copy of it (in the event it
3825 * ASCONF, and include in the outbound response packet
3845 * it must be either a stale packet or from an attacker.
3850 /* ADDIP 5.2 E6) The destination address of the SCTP packet
3852 * the SCTP packet that held the ASCONF Chunks.
3857 * created until we process the entire packet, thus this workaround.
3964 * processing the rest of the chunks in the packet.
3996 * processing the rest of the chunks in the packet.
4210 * respond to each received packet containing one or more DATA chunk(s)
4304 /* Discard the packet if the digests do not match */
4349 * of the packet
4400 * 00 - Stop processing this SCTP packet and discard it, do not process
4403 * 01 - Stop processing this SCTP packet and discard it, do not process
4440 /* Discard the packet. */
4454 /* Discard the packet. */
4520 * Discard the whole packet.
4524 * 2) If the OOTB packet contains an ABORT chunk, the receiver MUST
4525 * silently discard the OOTB packet and take no further action.
4596 struct sctp_packet *packet = NULL;
4608 * can't destroy this association just because the packet
4655 packet = sctp_ootb_pkt_new(net, asoc, chunk);
4657 if (!packet)
4661 packet->vtag = ntohl(chunk->sctp_hdr->vtag);
4665 sctp_packet_append_chunk(packet, abort);
4668 SCTP_PACKET(packet));
4842 * sending a packet to a specific transport address. [All of this
4955 * transport addresses of the peer endpoint to which this packet
5728 * T3-rtx has expired will fit into a single packet, subject
5734 * single packet to the destination endpoint.
5758 * acknowledgement SHOULD be generated for at least every second packet
5908 * packet from its peer (i.e. as the peer sends all of its queued DATA
6215 /* Create an ABORT packet to be sent as a response, with the specified
6225 struct sctp_packet *packet;
6228 packet = sctp_ootb_pkt_new(net, asoc, chunk);
6230 if (packet) {
6236 sctp_ootb_pkt_free(packet);
6242 packet->vtag = ntohl(chunk->sctp_hdr->vtag);
6252 sctp_packet_append_chunk(packet, abort);
6256 return packet;
6259 /* Allocate a packet for responding in the OOTB conditions. */
6266 struct sctp_packet *packet;
6270 /* Get the source and destination port from the inbound packet. */
6274 /* The V-tag is going to be the same as the inbound packet if no
6325 packet = &transport->packet;
6326 sctp_packet_init(packet, transport, sport, dport);
6327 sctp_packet_config(packet, vtag, 0);
6329 return packet;
6335 /* Free the packet allocated earlier for responding in the OOTB condition. */
6336 void sctp_ootb_pkt_free(struct sctp_packet *packet)
6338 sctp_transport_free(packet->transport);
6349 struct sctp_packet *packet;
6352 packet = sctp_ootb_pkt_new(net, asoc, chunk);
6353 if (packet) {
6358 packet->vtag = cookie->c.peer_vtag;
6362 sctp_packet_append_chunk(packet, err_chunk);
6364 SCTP_PACKET(packet));
6399 * a packet, we use ecn_ce_done to track if we've already
6400 * done CE processing for this packet.
6509 * processing the rest of the chunks in the packet.