Lines Matching +full:rx +full:- +full:sched +full:- +full:sp

1 /* SPDX-License-Identifier: GPL-2.0-or-later */
4 * Copyright (c) 1999-2000 Cisco, Inc.
5 * Copyright (c) 1999-2001 Motorola, Inc.
12 * lksctp developers <linux-[email protected]>
36 #include <linux/generic-radix-tree.h>
37 #include <linux/rhashtable-types.h>
247 static inline struct sock *sctp_opt2sk(const struct sctp_sock *sp) in sctp_opt2sk() argument
249 return (struct sock *)sp; in sctp_opt2sk()
260 /* This is our APPLICATION-SPECIFIC state cookie.
309 * Include the source port of the INIT-ACK
329 * the association TCB is re-constructed from the cookie.
376 * The Sender-specific Heartbeat Info field should normally include
398 (sctp_stream_##type((stream), (sid))->ssn)
402 (sctp_stream_##type((stream), (sid))->ssn++)
406 (sctp_stream_##type((stream), (sid))->ssn = ssn + 1)
410 (sctp_stream_##type((stream), (sid))->mid)
414 (sctp_stream_##type((stream), (sid))->mid++)
418 (sctp_stream_##type((stream), (sid))->mid = mid + 1)
422 (sctp_stream_##type((stream), (sid))->mid_uo)
426 (sctp_stream_##type((stream), (sid))->mid_uo++)
542 * a chunk header and chunk-specific content.
556 /* This is our link to the per-transport transmitted list. */
637 /* SCTP-AUTH: For the special case inbound processing of COOKIE-ECHO
638 * we need save a pointer to the AUTH chunk, since the SCTP-AUTH
664 #define sctp_chunk_retransmitted(chunk) (chunk->sent_count > 1)
680 return ntohs(ch->subh.data_hdr->stream); in sctp_chunk_stream_no()
728 u8 has_cookie_echo:1, /* This packet contains a COOKIE-ECHO chunk. */
748 return packet->size == packet->overhead; in sctp_packet_empty()
766 * source-destination pair but for each destination). The parameters
779 /* RTO-Pending : A flag used to track if one of the DATA
927 * [Everywhere else in the text this is called T3-rtx. -ed]
943 /* Since we're using per-destination retransmission timers
944 * (see above), we're also using per-destination "transmitted"
950 /* We build bundle-able packets for this transport here. */
958 * per-destination basis when a changeover happens.
993 /* 64-bit random number sent with heartbeat. */
1082 struct sctp_sched_ops *sched; member
1107 /* How many unackd bytes do we have in-flight? */
1110 /* Are we doing fast-rtx on this queue */
1133 q->cork = 1; in sctp_outq_cork()
1137 * sctp_input_cb is currently used on rx and sock rx queue
1150 #define SCTP_INPUT_CB(__skb) ((struct sctp_input_cb *)&((__skb)->cb[0]))
1155 #define SCTP_OUTPUT_CB(__skb) ((struct sctp_output_cb *)&((__skb)->cb[0]))
1159 const struct sctp_chunk *chunk = SCTP_INPUT_CB(skb)->chunk; in sctp_gso_headskb()
1161 return chunk->head_skb ? : skb; in sctp_gso_headskb()
1201 int sctp_bind_addrs_check(struct sctp_sock *sp,
1247 * refcnt - Reference count access to this object.
1248 * dead - Do not attempt to use this object.
1274 * multi-homed host, an SCTP endpoint is represented to its peers as a
1285 * A TCP-style socket will have exactly one association on one of
1286 * these. An UDP-style socket will have multiple associations hanging
1321 * this here so we pre-allocate this once and can re-use
1337 /* SCTP-AUTH: hmacs for the endpoint encoded into parameter */
1340 /* SCTP-AUTH: chunks to authenticate encoded into parameter */
1343 /* SCTP-AUTH: endpoint shared keys */
1490 return genradix_ptr(&stream->out, sid); in sctp_stream_out()
1497 return genradix_ptr(&stream->in, sid); in sctp_stream_in()
1508 return stream->si->data_chunk_len; in sctp_datachk_len()
1513 return stream->si->data_chunk_len - sizeof(struct sctp_chunkhdr); in sctp_datahdr_len()
1518 return stream->si->ftsn_chunk_len; in sctp_ftsnchk_len()
1523 return stream->si->ftsn_chunk_len - sizeof(struct sctp_chunkhdr); in sctp_ftsnhdr_len()
1663 * RFC2960 6.4 Multi-homed SCTP Endpoints
1665 * Furthermore, when its peer is multi-homed, an
1697 * in tsn_map--we get it by calling sctp_tsnmap_get_ctsn().
1711 prsctp_capable:1, /* Can peer do PR-SCTP? */
1712 reconf_capable:1, /* Can peer do RE-CONFIG? */
1714 auth_capable:1, /* Is peer doing SCTP-AUTH? */
1739 * C1) ... "Peer-Serial-Number'. This value MUST be initialized to the
1744 /* SCTP-AUTH: We need to know pears random number, hmac list
1754 * : association is in, i.e. COOKIE-WAIT,
1755 * : COOKIE-ECHOED, ESTABLISHED, SHUTDOWN-PENDING,
1756 * : SHUTDOWN-SENT, SHUTDOWN-RECEIVED, SHUTDOWN-ACK-SENT.
1874 /* PR-SCTP Advanced.Peer.Ack.Point */
1917 * as specified in the sk->sndbuf.
1974 * <draft-ietf-tsvwg-addip-sctp-02.txt>
1985 * ASCONF Chunk, it MUST wait until the ASCONF-ACK Chunk
1988 * so at any time two ASCONF may be in-transit on any given
1991 * [This is our one-and-only-one ASCONF in flight. If we do
1998 * This is needed to implement items E1 - E4 of the updated
2024 * ASCONF Chunk, it MUST wait until the ASCONF-ACK Chunk
2027 * so at any time two ASCONF may be in-transit on any given
2033 * queue and its supporting logic down there. --piggy]
2054 * 4294967295 (2^32 - 1). Serial Numbers wrap back to 0