sctp_transport
struct sctp_transport *transport;
SCTP_ARG_CONSTRUCTOR(TRANSPORT, struct sctp_transport *, transport)
typedef int (*sctp_callback_t)(struct sctp_endpoint *, struct sctp_transport *, void *);
struct sctp_transport *sctp_transport_get_next(struct net *net,
struct sctp_transport *sctp_transport_get_idx(struct net *net,
struct sctp_transport **);
void sctp_err_finish(struct sock *, struct sctp_transport *);
struct sctp_transport *t, __u32 pmtu);
void sctp_icmp_redirect(struct sock *, struct sctp_transport *,
struct sctp_transport *t);
int sctp_hash_transport(struct sctp_transport *t);
void sctp_unhash_transport(struct sctp_transport *t);
struct sctp_transport *sctp_addrs_lookup_transport(
struct sctp_transport *sctp_epaddr_lookup_transport(
struct sctp_transport *trans)
static inline struct dst_entry *sctp_transport_dst_check(struct sctp_transport *t)
const struct sctp_transport *t,
static inline bool sctp_transport_pmtu_check(struct sctp_transport *t)
static inline int sctp_transport_pl_hlen(struct sctp_transport *t)
static inline void sctp_transport_pl_reset(struct sctp_transport *t)
static inline void sctp_transport_pl_update(struct sctp_transport *t)
static inline bool sctp_transport_pl_enabled(struct sctp_transport *t)
const struct sctp_transport *transport,
void sctp_transport_reset_probe_timer(struct sctp_transport *transport);
void sctp_transport_reset_raise_timer(struct sctp_transport *transport);
int 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 *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 *t);
bool sctp_transport_update_pmtu(struct sctp_transport *t, u32 pmtu);
void sctp_transport_immediate_rtx(struct sctp_transport *);
void sctp_transport_dst_release(struct sctp_transport *t);
void sctp_transport_dst_confirm(struct sctp_transport *t);
void sctp_transport_pl_send(struct sctp_transport *t);
bool sctp_transport_pl_recv(struct sctp_transport *t);
void sctp_retransmit(struct sctp_outq *q, struct sctp_transport *transport,
void sctp_retransmit_mark(struct sctp_outq *, struct sctp_transport *, __u8);
struct sctp_transport **);
struct sctp_transport *primary_path;
struct sctp_transport *active_path;
struct sctp_transport *retran_path;
struct sctp_transport *last_sent_to;
struct sctp_transport *last_data_from;
struct sctp_transport *shutdown_last_sent_to;
struct sctp_transport *init_last_sent_to;
struct sctp_transport *new_transport;
struct sctp_transport *sctp_assoc_choose_alter_transport(
struct sctp_association *, struct sctp_transport *);
struct sctp_transport *sctp_assoc_lookup_paddr(const struct sctp_association *,
struct sctp_transport *sctp_assoc_add_peer(struct sctp_association *,
struct sctp_transport *peer);
struct sctp_transport *transport,
struct sctp_transport *sctp_assoc_lookup_tsn(struct sctp_association *, __u32);
struct sctp_transport *);
struct sctp_transport *);
struct sctp_transport *);
void (*get_dst) (struct sctp_transport *t,
struct sctp_transport *t,
struct sctp_transport *transport;
struct sctp_transport;
struct sctp_transport *transport;
void sctp_packet_init(struct sctp_packet *, struct sctp_transport *,
struct sctp_transport *sctp_transport_new(struct net *, const union sctp_addr *,
void sctp_transport_set_owner(struct sctp_transport *,
void sctp_transport_route(struct sctp_transport *, union sctp_addr *,
void sctp_transport_pmtu(struct sctp_transport *, struct sock *sk);
void sctp_transport_free(struct sctp_transport *);
void sctp_transport_reset_t3_rtx(struct sctp_transport *);
void sctp_transport_reset_hb_timer(struct sctp_transport *);
void sctp_transport_reset_reconf_timer(struct sctp_transport *transport);
struct sctp_transport *trans);
void sctp_ulpevent_notify_peer_addr_change(struct sctp_transport *transport,
TP_PROTO(struct sctp_transport *sp,
struct sctp_transport *trans;
trans = list_entry(pos, struct sctp_transport, transports);
static u8 sctp_trans_score(const struct sctp_transport *trans)
static struct sctp_transport *sctp_trans_elect_tie(struct sctp_transport *trans1,
struct sctp_transport *trans2)
static struct sctp_transport *sctp_trans_elect_best(struct sctp_transport *curr,
struct sctp_transport *best)
struct sctp_transport *trans = asoc->peer.retran_path;
struct sctp_transport *trans_next = NULL;
struct sctp_transport *trans, *trans_pri = NULL, *trans_sec = NULL;
struct sctp_transport *trans_pf = NULL;
struct sctp_transport *
struct sctp_transport *last_sent_to)
struct sctp_transport *t;
struct sctp_transport *transport;
transport = list_entry(pos, struct sctp_transport, transports);
struct sctp_transport *transport)
struct sctp_transport *peer)
struct sctp_transport *transport;
transport = list_entry(pos, struct sctp_transport, transports);
struct sctp_transport *active = asoc->peer.active_path;
struct sctp_transport *sctp_assoc_add_peer(struct sctp_association *asoc,
struct sctp_transport *peer;
struct sctp_transport *sctp_assoc_lookup_paddr(
struct sctp_transport *t;
struct sctp_transport *primary)
struct sctp_transport *temp;
struct sctp_transport *t;
struct sctp_transport *transport,
struct sctp_transport *sctp_assoc_lookup_tsn(struct sctp_association *asoc,
struct sctp_transport *active;
struct sctp_transport *match;
struct sctp_transport *transport;
struct sctp_transport *from;
static int sctp_sock_dump_one(struct sctp_endpoint *ep, struct sctp_transport *tsp, void *p)
static int sctp_sock_dump(struct sctp_endpoint *ep, struct sctp_transport *tsp, void *p)
static int sctp_sock_filter(struct sctp_endpoint *ep, struct sctp_transport *tsp, void *p)
struct sctp_transport **transport)
struct sctp_transport *t;
struct sctp_transport *transport;
struct sctp_transport *t;
struct sctp_transport *sctp_epaddr_lookup_transport(
struct sctp_transport *t;
struct sctp_transport **pt,
struct sctp_transport *t;
struct sctp_transport **transportp,
struct sctp_transport *transport;
const union sctp_addr *laddr, struct sctp_transport **transportp,
struct sctp_transport **transportp,
struct sctp_transport **transportp,
struct sctp_transport **transportp,
struct sctp_transport **transportp,
struct sctp_transport *t = chunk->transport;
struct sctp_transport *t = chunk->transport;
struct sctp_transport *t, __u32 pmtu)
void sctp_icmp_redirect(struct sock *sk, struct sctp_transport *t,
struct sctp_transport *t)
struct sctp_transport **tpp)
struct sctp_transport *transport = NULL;
struct sctp_transport **transportp,
void sctp_err_finish(struct sock *sk, struct sctp_transport *t)
static void sctp_v4_err_handle(struct sctp_transport *t, struct sk_buff *skb,
struct sctp_transport *transport;
struct sctp_transport **pt,
struct sctp_transport *t;
struct sctp_transport *t = (struct sctp_transport *)ptr;
const struct sctp_transport *t = data;
.head_offset = offsetof(struct sctp_transport, node),
struct sctp_transport *transport = NULL;
int sctp_hash_transport(struct sctp_transport *t)
struct sctp_transport *transport;
void sctp_unhash_transport(struct sctp_transport *t)
struct sctp_transport *sctp_addrs_lookup_transport(
static void sctp_v6_err_handle(struct sctp_transport *t, struct sk_buff *skb,
struct sctp_transport *transport;
struct sctp_transport *t;
static int sctp_v6_xmit(struct sk_buff *skb, struct sctp_transport *t)
static void sctp_v6_get_dst(struct sctp_transport *t, union sctp_addr *saddr,
struct sctp_transport *t,
struct sctp_transport *transport,
struct sctp_transport *t = pkt->transport;
struct sctp_transport *tp = packet->transport;
struct sctp_transport *tp = packet->transport;
struct sctp_transport *transport = packet->transport;
struct sctp_transport *transport = packet->transport;
struct sctp_transport *tp = packet->transport;
static inline int sctp_cacc_skip_3_1_d(struct sctp_transport *primary,
struct sctp_transport *transport,
static inline int sctp_cacc_skip_3_1_f(struct sctp_transport *transport,
struct sctp_transport *t;
t = list_entry(ltransport, struct sctp_transport, send_ready);
struct sctp_transport *transport;
struct sctp_transport *primary = asoc->peer.primary_path;
static inline int sctp_cacc_skip_3_1(struct sctp_transport *primary,
struct sctp_transport *transport,
struct sctp_transport *transport,
static inline int sctp_cacc_skip_3_2(struct sctp_transport *primary, __u32 tsn)
struct sctp_transport *transport,
struct sctp_transport *primary = asoc->peer.primary_path;
static inline int sctp_cacc_skip(struct sctp_transport *primary,
struct sctp_transport *transport,
struct sctp_transport *transport;
struct sctp_transport *transport;
struct sctp_transport *transport,
struct sctp_transport *transport,
struct sctp_transport *transport,
void sctp_retransmit(struct sctp_outq *q, struct sctp_transport *transport,
struct sctp_transport *transport = pkt->transport;
static int sctp_packet_singleton(struct sctp_transport *transport,
struct sctp_transport *transport;
struct sctp_transport *new_transport = chunk->transport;
struct sctp_transport *transport;
struct sctp_transport *transport = v;
struct sctp_transport *transport = v;
struct sctp_transport *transport;
transport = (struct sctp_transport *)v;
struct sctp_transport *transport, *tsp;
transport = (struct sctp_transport *)v;
struct sctp_transport *peer;
static inline int sctp_v4_xmit(struct sk_buff *skb, struct sctp_transport *t)
static void sctp_v4_get_dst(struct sctp_transport *t, union sctp_addr *saddr,
struct sctp_transport *t,
const struct sctp_transport *transport,
retval->transport = (struct sctp_transport *) transport;
struct sctp_transport *transport;
transport = list_entry(pos, struct sctp_transport, transports);
transport = list_entry(pos, struct sctp_transport, transports);
struct sctp_transport *t;
struct sctp_transport *peer;
struct sctp_transport *transport;
struct sctp_transport *trans;
struct sctp_transport *transport;
struct sctp_transport *t;
t = list_entry(pos, struct sctp_transport, transports);
struct sctp_transport *t;
struct sctp_transport *t;
struct sctp_transport *trans = asoc->peer.last_data_from;
struct sctp_transport *transport =
struct sctp_transport *transport = timer_container_of(transport, t,
struct sctp_transport *transport =
struct sctp_transport *transport =
struct sctp_transport *transport = timer_container_of(transport, t,
struct sctp_transport *transport,
struct sctp_transport *t;
struct sctp_transport *t;
struct sctp_transport *t;
struct sctp_transport *t,
struct sctp_transport *t;
struct sctp_transport *t;
struct sctp_transport *transport = (struct sctp_transport *) arg;
struct sctp_transport *transport = (struct sctp_transport *) arg;
struct sctp_transport *transport);
struct sctp_transport *transport = arg;
struct sctp_transport *transport = (struct sctp_transport *)arg;
struct sctp_transport *link;
struct sctp_transport *addr;
struct sctp_transport *new_addr;
(struct sctp_transport *)arg);
struct sctp_transport *transport)
(struct sctp_transport *)arg, commands))
struct sctp_transport *transport = arg;
struct sctp_transport *transport = chunk->transport;
struct sctp_transport *transport;
struct sctp_transport **tp)
struct sctp_transport *t;
struct sctp_transport *transport;
struct sctp_transport **tp)
struct sctp_transport *t;
struct sctp_transport *transport,
struct sctp_transport *transport = NULL;
struct sctp_transport *trans,
struct sctp_transport *t;
struct sctp_transport *t;
struct sctp_transport *trans = NULL;
static struct sctp_transport *sctp_addr_id2transport(struct sock *sk,
struct sctp_transport *trans;
struct sctp_transport *transport;
struct sctp_transport *trans;
struct sctp_transport *peer_addr;
struct sctp_transport *trans;
struct sctp_transport *t;
struct sctp_transport *t;
struct sctp_transport *prim;
struct sctp_transport *sctp_transport_get_next(struct net *net,
struct sctp_transport *t;
struct sctp_transport *sctp_transport_get_idx(struct net *net,
struct sctp_transport *t;
struct sctp_transport *transport;
struct sctp_transport *tsp;
struct sctp_transport *transport;
struct sctp_transport *transport;
struct sctp_transport *trans = NULL;
struct sctp_transport *from;
struct sctp_transport *trans;
struct sctp_transport *trans;
struct sctp_transport *transport,
struct sctp_transport *transport;
struct sctp_transport *t;
struct sctp_transport *t;
struct sctp_transport *transport,
struct sctp_transport *t;
struct sctp_transport *t;
struct sctp_transport *t;
void sctp_transport_free(struct sctp_transport *transport)
struct sctp_transport *transport;
transport = container_of(head, struct sctp_transport, rcu);
static void sctp_transport_destroy(struct sctp_transport *transport)
void sctp_transport_reset_t3_rtx(struct sctp_transport *transport)
void sctp_transport_reset_hb_timer(struct sctp_transport *transport)
void sctp_transport_reset_reconf_timer(struct sctp_transport *transport)
void sctp_transport_reset_probe_timer(struct sctp_transport *transport)
void sctp_transport_reset_raise_timer(struct sctp_transport *transport)
void sctp_transport_set_owner(struct sctp_transport *transport,
void sctp_transport_pmtu(struct sctp_transport *transport, struct sock *sk)
void sctp_transport_pl_send(struct sctp_transport *t)
bool sctp_transport_pl_recv(struct sctp_transport *t)
static bool sctp_transport_pl_toobig(struct sctp_transport *t, u32 pmtu)
bool sctp_transport_update_pmtu(struct sctp_transport *t, u32 pmtu)
struct sctp_transport *peer,
void sctp_transport_route(struct sctp_transport *transport,
int sctp_transport_hold(struct sctp_transport *transport)
void sctp_transport_put(struct sctp_transport *transport)
void sctp_transport_update_rto(struct sctp_transport *tp, __u32 rtt)
void sctp_transport_raise_cwnd(struct sctp_transport *transport,
void sctp_transport_lower_cwnd(struct sctp_transport *transport,
void sctp_transport_burst_limited(struct sctp_transport *t)
void sctp_transport_burst_reset(struct sctp_transport *t)
unsigned long sctp_transport_timeout(struct sctp_transport *trans)
void sctp_transport_reset(struct sctp_transport *t)
void sctp_transport_immediate_rtx(struct sctp_transport *t)
void sctp_transport_dst_release(struct sctp_transport *t)
void sctp_transport_dst_confirm(struct sctp_transport *t)
struct sctp_transport *sctp_transport_new(struct net *net,
struct sctp_transport *transport;
struct sctp_transport *trans)
void sctp_ulpevent_notify_peer_addr_change(struct sctp_transport *transport,