|
struct sctp_hashbucket | __attribute__ ((__aligned__(8))) |
|
struct sctp_ssnmap * | sctp_ssnmap_new (__u16 in, __u16 out, gfp_t gfp) |
|
void | sctp_ssnmap_free (struct sctp_ssnmap *map) |
|
void | sctp_ssnmap_clear (struct sctp_ssnmap *map) |
|
struct sctp_af * | sctp_get_af_specific (sa_family_t) |
|
int | sctp_register_af (struct sctp_af *) |
|
struct sctp_datamsg * | sctp_datamsg_from_user (struct sctp_association *, struct sctp_sndrcvinfo *, struct msghdr *, int len) |
|
void | sctp_datamsg_free (struct sctp_datamsg *) |
|
void | sctp_datamsg_put (struct sctp_datamsg *) |
|
void | sctp_chunk_fail (struct sctp_chunk *, int error) |
|
int | sctp_chunk_abandoned (struct sctp_chunk *) |
|
void | sctp_chunk_hold (struct sctp_chunk *) |
|
void | sctp_chunk_put (struct sctp_chunk *) |
|
int | sctp_user_addto_chunk (struct sctp_chunk *chunk, int off, int len, struct iovec *data) |
|
void | sctp_chunk_free (struct sctp_chunk *) |
|
void * | sctp_addto_chunk (struct sctp_chunk *, int len, const void *data) |
|
void * | sctp_addto_chunk_fixed (struct sctp_chunk *, int len, const void *data) |
|
struct sctp_chunk * | sctp_chunkify (struct sk_buff *, const struct sctp_association *, struct sock *) |
|
void | sctp_init_addrs (struct sctp_chunk *, union sctp_addr *, union sctp_addr *) |
|
union sctp_addr * | sctp_source (const struct sctp_chunk *chunk) |
|
struct sctp_packet * | sctp_packet_init (struct sctp_packet *, struct sctp_transport *, __u16 sport, __u16 dport) |
|
struct sctp_packet * | sctp_packet_config (struct sctp_packet *, __u32 vtag, int) |
|
sctp_xmit_t | sctp_packet_transmit_chunk (struct sctp_packet *, struct sctp_chunk *, int) |
|
sctp_xmit_t | sctp_packet_append_chunk (struct sctp_packet *, struct sctp_chunk *) |
|
int | sctp_packet_transmit (struct sctp_packet *) |
|
void | sctp_packet_free (struct sctp_packet *) |
|
struct sctp_transport * | sctp_transport_new (struct net *, const union sctp_addr *, gfp_t) |
|
void | sctp_transport_set_owner (struct sctp_transport *, struct sctp_association *) |
|
void | sctp_transport_route (struct sctp_transport *, union sctp_addr *, struct sctp_sock *) |
|
void | sctp_transport_pmtu (struct sctp_transport *, struct sock *sk) |
|
void | sctp_transport_free (struct sctp_transport *) |
|
void | sctp_transport_reset_timers (struct sctp_transport *) |
|
void | sctp_transport_hold (struct sctp_transport *) |
|
void | sctp_transport_put (struct sctp_transport *) |
|
void | sctp_transport_update_rto (struct sctp_transport *, __u32) |
|
void | sctp_transport_raise_cwnd (struct sctp_transport *, __u32, __u32) |
|
void | sctp_transport_lower_cwnd (struct sctp_transport *, sctp_lower_cwnd_t) |
|
void | sctp_transport_burst_limited (struct sctp_transport *) |
|
void | sctp_transport_burst_reset (struct sctp_transport *) |
|
unsigned long | sctp_transport_timeout (struct sctp_transport *) |
|
void | sctp_transport_reset (struct sctp_transport *) |
|
void | sctp_transport_update_pmtu (struct sock *, struct sctp_transport *, u32) |
|
void | sctp_transport_immediate_rtx (struct sctp_transport *) |
|
void | sctp_inq_init (struct sctp_inq *) |
|
void | sctp_inq_free (struct sctp_inq *) |
|
void | sctp_inq_push (struct sctp_inq *, struct sctp_chunk *packet) |
|
struct sctp_chunk * | sctp_inq_pop (struct sctp_inq *) |
|
struct sctp_chunkhdr * | sctp_inq_peek (struct sctp_inq *) |
|
void | sctp_inq_set_th_handler (struct sctp_inq *, work_func_t) |
|
void | sctp_outq_init (struct sctp_association *, struct sctp_outq *) |
|
void | sctp_outq_teardown (struct sctp_outq *) |
|
void | sctp_outq_free (struct sctp_outq *) |
|
int | sctp_outq_tail (struct sctp_outq *, struct sctp_chunk *chunk) |
|
int | sctp_outq_sack (struct sctp_outq *, struct sctp_chunk *) |
|
int | sctp_outq_is_empty (const struct sctp_outq *) |
|
void | sctp_outq_restart (struct sctp_outq *) |
|
void | sctp_retransmit (struct sctp_outq *, struct sctp_transport *, sctp_retransmit_reason_t) |
|
void | sctp_retransmit_mark (struct sctp_outq *, struct sctp_transport *, __u8) |
|
int | sctp_outq_uncork (struct sctp_outq *) |
|
void | sctp_bind_addr_init (struct sctp_bind_addr *, __u16 port) |
|
void | sctp_bind_addr_free (struct sctp_bind_addr *) |
|
int | sctp_bind_addr_copy (struct net *net, struct sctp_bind_addr *dest, const struct sctp_bind_addr *src, sctp_scope_t scope, gfp_t gfp, int flags) |
|
int | sctp_bind_addr_dup (struct sctp_bind_addr *dest, const struct sctp_bind_addr *src, gfp_t gfp) |
|
int | sctp_add_bind_addr (struct sctp_bind_addr *, union sctp_addr *, __u8 addr_state, gfp_t gfp) |
|
int | sctp_del_bind_addr (struct sctp_bind_addr *, union sctp_addr *) |
|
int | sctp_bind_addr_match (struct sctp_bind_addr *, const union sctp_addr *, struct sctp_sock *) |
|
int | sctp_bind_addr_conflict (struct sctp_bind_addr *, const union sctp_addr *, struct sctp_sock *, struct sctp_sock *) |
|
int | sctp_bind_addr_state (const struct sctp_bind_addr *bp, const union sctp_addr *addr) |
|
union sctp_addr * | sctp_find_unmatch_addr (struct sctp_bind_addr *bp, const union sctp_addr *addrs, int addrcnt, struct sctp_sock *opt) |
|
union sctp_params | sctp_bind_addrs_to_raw (const struct sctp_bind_addr *bp, int *addrs_len, gfp_t gfp) |
|
int | sctp_raw_to_bind_addrs (struct sctp_bind_addr *bp, __u8 *raw, int len, __u16 port, gfp_t gfp) |
|
sctp_scope_t | sctp_scope (const union sctp_addr *) |
|
int | sctp_in_scope (struct net *net, const union sctp_addr *addr, const sctp_scope_t scope) |
|
int | sctp_is_any (struct sock *sk, const union sctp_addr *addr) |
|
int | sctp_addr_is_valid (const union sctp_addr *addr) |
|
int | sctp_is_ep_boundall (struct sock *sk) |
|
struct sctp_endpoint * | sctp_endpoint_new (struct sock *, gfp_t) |
|
void | sctp_endpoint_free (struct sctp_endpoint *) |
|
void | sctp_endpoint_put (struct sctp_endpoint *) |
|
void | sctp_endpoint_hold (struct sctp_endpoint *) |
|
void | sctp_endpoint_add_asoc (struct sctp_endpoint *, struct sctp_association *) |
|
struct sctp_association * | sctp_endpoint_lookup_assoc (const struct sctp_endpoint *ep, const union sctp_addr *paddr, struct sctp_transport **) |
|
int | sctp_endpoint_is_peeled_off (struct sctp_endpoint *, const union sctp_addr *) |
|
struct sctp_endpoint * | sctp_endpoint_is_match (struct sctp_endpoint *, struct net *, const union sctp_addr *) |
|
int | sctp_has_association (struct net *net, const union sctp_addr *laddr, const union sctp_addr *paddr) |
|
int | sctp_verify_init (struct net *net, const struct sctp_association *asoc, sctp_cid_t, sctp_init_chunk_t *peer_init, struct sctp_chunk *chunk, struct sctp_chunk **err_chunk) |
|
int | sctp_process_init (struct sctp_association *, struct sctp_chunk *chunk, const union sctp_addr *peer, sctp_init_chunk_t *init, gfp_t gfp) |
|
__u32 | sctp_generate_tag (const struct sctp_endpoint *) |
|
__u32 | sctp_generate_tsn (const struct sctp_endpoint *) |
|
struct sctp_association * | sctp_association_new (const struct sctp_endpoint *, const struct sock *, sctp_scope_t scope, gfp_t gfp) |
|
void | sctp_association_free (struct sctp_association *) |
|
void | sctp_association_put (struct sctp_association *) |
|
void | sctp_association_hold (struct sctp_association *) |
|
struct sctp_transport * | sctp_assoc_choose_alter_transport (struct sctp_association *, struct sctp_transport *) |
|
void | sctp_assoc_update_retran_path (struct sctp_association *) |
|
struct sctp_transport * | sctp_assoc_lookup_paddr (const struct sctp_association *, const union sctp_addr *) |
|
int | sctp_assoc_lookup_laddr (struct sctp_association *asoc, const union sctp_addr *laddr) |
|
struct sctp_transport * | sctp_assoc_add_peer (struct sctp_association *, const union sctp_addr *address, const gfp_t gfp, const int peer_state) |
|
void | sctp_assoc_del_peer (struct sctp_association *asoc, const union sctp_addr *addr) |
|
void | sctp_assoc_rm_peer (struct sctp_association *asoc, struct sctp_transport *peer) |
|
void | sctp_assoc_control_transport (struct sctp_association *, struct sctp_transport *, sctp_transport_cmd_t, sctp_sn_error_t) |
|
struct sctp_transport * | sctp_assoc_lookup_tsn (struct sctp_association *, __u32) |
|
struct sctp_transport * | sctp_assoc_is_match (struct sctp_association *, struct net *, const union sctp_addr *, const union sctp_addr *) |
|
void | sctp_assoc_migrate (struct sctp_association *, struct sock *) |
|
void | sctp_assoc_update (struct sctp_association *old, struct sctp_association *new) |
|
__u32 | sctp_association_get_next_tsn (struct sctp_association *) |
|
void | sctp_assoc_sync_pmtu (struct sock *, struct sctp_association *) |
|
void | sctp_assoc_rwnd_increase (struct sctp_association *, unsigned int) |
|
void | sctp_assoc_rwnd_decrease (struct sctp_association *, unsigned int) |
|
void | sctp_assoc_set_primary (struct sctp_association *, struct sctp_transport *) |
|
void | sctp_assoc_del_nonprimary_peers (struct sctp_association *, struct sctp_transport *) |
|
int | sctp_assoc_set_bind_addr_from_ep (struct sctp_association *, sctp_scope_t, gfp_t) |
|
int | sctp_assoc_set_bind_addr_from_cookie (struct sctp_association *, struct sctp_cookie *, gfp_t gfp) |
|
int | sctp_assoc_set_id (struct sctp_association *, gfp_t) |
|
void | sctp_assoc_clean_asconf_ack_cache (const struct sctp_association *asoc) |
|
struct sctp_chunk * | sctp_assoc_lookup_asconf_ack (const struct sctp_association *asoc, __be32 serial) |
|
void | sctp_asconf_queue_teardown (struct sctp_association *asoc) |
|
int | sctp_cmp_addr_exact (const union sctp_addr *ss1, const union sctp_addr *ss2) |
|
struct sctp_chunk * | sctp_get_ecne_prepend (struct sctp_association *asoc) |
|
6.10 Bundling
An endpoint bundles chunks by simply including multiple chunks in one outbound SCTP packet. ...
3.2 Chunk Field Descriptions
The total length of a chunk (including Type, Length and Value fields) MUST be a multiple of 4 bytes. If the length of the chunk is not a multiple of 4 bytes, the sender MUST pad the chunk with all zero bytes and this padding is not included in the chunk length field. The sender should never pad with more than 3 bytes.
[This whole comment explains WORD_ROUND() below.]
Definition at line 391 of file output.c.