| /linux/net/sctp/ |
| H A D | associola.c | 43 static void sctp_select_active_and_retran_path(struct sctp_association *asoc); 45 static void sctp_assoc_free_asconf_acks(struct sctp_association *asoc); 46 static void sctp_assoc_free_asconf_queue(struct sctp_association *asoc); 52 struct sctp_association *asoc, in sctp_association_init() argument 65 asoc->ep = (struct sctp_endpoint *)ep; in sctp_association_init() 66 asoc->base.sk = (struct sock *)sk; in sctp_association_init() 67 asoc->base.net = sock_net(sk); in sctp_association_init() 69 sctp_endpoint_hold(asoc->ep); in sctp_association_init() 70 sock_hold(asoc->base.sk); in sctp_association_init() 73 asoc->base.type = SCTP_EP_TYPE_ASSOCIATION; in sctp_association_init() [all …]
|
| H A D | sm_sideeffect.c | 44 struct sctp_association *asoc, 53 struct sctp_association **asoc, 64 static void sctp_do_ecn_ce_work(struct sctp_association *asoc, in sctp_do_ecn_ce_work() argument 69 asoc->last_ecne_tsn = lowest_tsn; in sctp_do_ecn_ce_work() 70 asoc->need_ecne = 1; in sctp_do_ecn_ce_work() 85 static struct sctp_chunk *sctp_do_ecn_ecne_work(struct sctp_association *asoc, in sctp_do_ecn_ecne_work() argument 101 if (TSN_lt(asoc->last_cwr_tsn, lowest_tsn)) { in sctp_do_ecn_ecne_work() 107 transport = sctp_assoc_lookup_tsn(asoc, lowest_tsn); in sctp_do_ecn_ecne_work() 113 asoc->last_cwr_tsn = lowest_tsn; in sctp_do_ecn_ecne_work() 119 repl = sctp_make_cwr(asoc, asoc->last_cwr_tsn, chunk); in sctp_do_ecn_ecne_work() [all …]
|
| H A D | stream.c | 27 struct sctp_association *asoc; in sctp_stream_shrink_out() local 31 asoc = container_of(stream, struct sctp_association, stream); in sctp_stream_shrink_out() 32 outq = &asoc->outqueue; in sctp_stream_shrink_out() 47 if (asoc->peer.prsctp_capable && in sctp_stream_shrink_out() 49 asoc->sent_cnt_removable--; in sctp_stream_shrink_out() 229 static int sctp_send_reconf(struct sctp_association *asoc, in sctp_send_reconf() argument 234 retval = sctp_primitive_RECONF(asoc->base.net, asoc, chunk); in sctp_send_reconf() 244 struct sctp_association *asoc; in sctp_stream_outq_is_empty() local 247 asoc = container_of(stream, struct sctp_association, stream); in sctp_stream_outq_is_empty() 248 if (!asoc->outqueue.out_qlen) in sctp_stream_outq_is_empty() [all …]
|
| H A D | sm_statefuns.c | 55 const struct sctp_association *asoc, 58 static int sctp_eat_data(const struct sctp_association *asoc, 63 const struct sctp_association *asoc, 67 const struct sctp_association *asoc, 74 const struct sctp_association *asoc, 81 const struct sctp_association *asoc, 88 const struct sctp_association *asoc, 95 const struct sctp_association *asoc, 105 const struct sctp_association *asoc, 111 const struct sctp_association *asoc, [all …]
|
| H A D | socket.c | 74 static int sctp_wait_for_sndbuf(struct sctp_association *asoc, 88 static int sctp_send_asconf(struct sctp_association *asoc, 108 static inline int sctp_wspace(struct sctp_association *asoc) in sctp_wspace() argument 110 struct sock *sk = asoc->base.sk; in sctp_wspace() 112 return asoc->ep->sndbuf_policy ? sk->sk_sndbuf - asoc->sndbuf_used in sctp_wspace() 127 struct sctp_association *asoc = chunk->asoc; in sctp_set_owner_w() local 128 struct sock *sk = asoc->base.sk; in sctp_set_owner_w() 131 sctp_association_hold(asoc); in sctp_set_owner_w() 166 sctp_for_each_tx_datachunk(struct sctp_association * asoc,bool clear,void (* cb)(struct sctp_chunk *)) sctp_for_each_tx_datachunk() argument 193 sctp_for_each_rx_skb(struct sctp_association * asoc,struct sock * sk,void (* cb)(struct sk_buff *,struct sock *)) sctp_for_each_rx_skb() argument 235 struct sctp_association *asoc = NULL; sctp_id2assoc() local 469 sctp_send_asconf(struct sctp_association * asoc,struct sctp_chunk * chunk) sctp_send_asconf() argument 562 struct sctp_association *asoc; sctp_send_asconf_add_ip() local 764 struct sctp_association *asoc; sctp_send_asconf_del_ip() local 1073 struct sctp_association *asoc; sctp_connect_new_asoc() local 1135 sctp_connect_add_peer(struct sctp_association * asoc,union sctp_addr * daddr,int addr_len) sctp_connect_add_peer() argument 1173 struct sctp_association *asoc; __sctp_connect() local 1488 struct sctp_association *asoc; sctp_close() local 1662 struct sctp_association *asoc; sctp_sendmsg_new_asoc() local 1751 sctp_sendmsg_check_sflags(struct sctp_association * asoc,__u16 sflags,struct msghdr * msg,size_t msg_len) sctp_sendmsg_check_sflags() argument 1789 sctp_sendmsg_to_asoc(struct sctp_association * asoc,struct msghdr * msg,size_t msg_len,struct sctp_transport * transport,struct sctp_sndrcvinfo * sinfo) sctp_sendmsg_to_asoc() argument 1916 sctp_sendmsg_update_sinfo(struct sctp_association * asoc,struct sctp_sndrcvinfo * sinfo,struct sctp_cmsgs * cmsgs) sctp_sendmsg_update_sinfo() argument 1947 struct sctp_association *asoc, *tmp; sctp_sendmsg() local 2223 struct sctp_association *asoc; sctp_setsockopt_events() local 2427 sctp_apply_peer_addr_params(struct sctp_paddrparams * params,struct sctp_transport * trans,struct sctp_association * asoc,struct sctp_sock * sp,int hb_change,int pmtud_change,int sackdelay_change) sctp_apply_peer_addr_params() argument 2621 struct sctp_association *asoc = NULL; sctp_setsockopt_peer_addr_params() local 2706 sctp_apply_asoc_delayed_ack(struct sctp_sack_info * params,struct sctp_association * asoc) sctp_apply_asoc_delayed_ack() argument 2781 struct sctp_association *asoc; __sctp_setsockopt_delayed_ack() local 2907 struct sctp_association *asoc; sctp_setsockopt_default_send_param() local 2965 struct sctp_association *asoc; sctp_setsockopt_default_sndinfo() local 3081 struct sctp_association *asoc; sctp_setsockopt_rtoinfo() local 3146 struct sctp_association *asoc; sctp_setsockopt_associnfo() local 3256 struct sctp_association *asoc; sctp_setsockopt_maxseg() local 3316 struct sctp_association *asoc = NULL; sctp_setsockopt_peer_primary_addr() local 3403 struct sctp_association *asoc; sctp_setsockopt_context() local 3522 struct sctp_association *asoc; sctp_setsockopt_maxburst() local 3634 struct sctp_association *asoc; sctp_setsockopt_auth_key() local 3695 struct sctp_association *asoc; sctp_setsockopt_active_key() local 3743 struct sctp_association *asoc; sctp_setsockopt_del_key() local 3791 struct sctp_association *asoc; sctp_setsockopt_deactivate_key() local 3880 struct sctp_association *asoc; sctp_setsockopt_paddr_thresholds() local 3964 struct sctp_association *asoc; sctp_setsockopt_pr_supported() local 3984 struct sctp_association *asoc; sctp_setsockopt_default_prinfo() local 4035 struct sctp_association *asoc; sctp_setsockopt_reconfig_supported() local 4059 struct sctp_association *asoc; sctp_setsockopt_enable_strreset() local 4100 struct sctp_association *asoc; sctp_setsockopt_reset_streams() local 4122 struct sctp_association *asoc; sctp_setsockopt_reset_assoc() local 4138 struct sctp_association *asoc; sctp_setsockopt_add_streams() local 4155 struct sctp_association *asoc; sctp_setsockopt_scheduler() local 4197 struct sctp_association *asoc; sctp_setsockopt_scheduler_value() local 4233 struct sctp_association *asoc; sctp_setsockopt_interleaving_supported() local 4268 sctp_assoc_ulpevent_type_set(struct sctp_event * param,struct sctp_association * asoc) sctp_assoc_ulpevent_type_set() argument 4292 struct sctp_association *asoc; sctp_setsockopt_event() local 4335 struct sctp_association *asoc; sctp_setsockopt_asconf_supported() local 4365 struct sctp_association *asoc; sctp_setsockopt_auth_supported() local 4399 struct sctp_association *asoc; sctp_setsockopt_ecn_supported() local 4421 struct sctp_association *asoc; sctp_setsockopt_pf_expose() local 4449 struct sctp_association *asoc; sctp_setsockopt_encap_port() local 4499 struct sctp_association *asoc; sctp_setsockopt_probe_interval() local 4847 sctp_clone_sock(struct sock * sk,struct sctp_association * asoc,enum sctp_socket_type type) sctp_clone_sock() argument 4925 struct sctp_association *asoc; sctp_accept() local 5207 struct sctp_association *asoc; sctp_shutdown() local 5216 sctp_get_sctp_info(struct sock * sk,struct sctp_association * asoc,struct sctp_info * info) sctp_get_sctp_info() argument 5465 struct sctp_association *asoc = NULL; sctp_getsockopt_sctp_status() local 5679 struct sctp_association *asoc = sctp_id2assoc(sk, id); sctp_do_peeloff() local 5961 struct sctp_association *asoc = NULL; sctp_getsockopt_peer_addr_params() local 6104 struct sctp_association *asoc = NULL; sctp_getsockopt_delayed_ack() local 6189 struct sctp_association *asoc; sctp_getsockopt_peer_addrs() local 6286 struct sctp_association *asoc; sctp_getsockopt_local_addrs() local 6394 struct sctp_association *asoc; sctp_getsockopt_primary_addr() local 6476 struct sctp_association *asoc; sctp_getsockopt_default_send_param() local 6522 struct sctp_association *asoc; sctp_getsockopt_default_sndinfo() local 6601 struct sctp_association *asoc; sctp_getsockopt_rtoinfo() local 6657 struct sctp_association *asoc; sctp_getsockopt_associnfo() local 6747 struct sctp_association *asoc; sctp_getsockopt_context() local 6804 struct sctp_association *asoc; sctp_getsockopt_maxseg() local 6899 struct sctp_association *asoc; sctp_getsockopt_maxburst() local 6975 struct sctp_association *asoc; sctp_getsockopt_active_key() local 7011 struct sctp_association *asoc; sctp_getsockopt_peer_auth_chunks() local 7056 struct sctp_association *asoc; sctp_getsockopt_local_auth_chunks() local 7110 struct sctp_association *asoc; sctp_getsockopt_assoc_number() local 7166 struct sctp_association *asoc; sctp_getsockopt_assoc_ids() local 7218 struct sctp_association *asoc; sctp_getsockopt_paddr_thresholds() local 7276 struct sctp_association *asoc = NULL; sctp_getsockopt_assoc_stats() local 7374 struct sctp_association *asoc; sctp_getsockopt_pr_supported() local 7413 struct sctp_association *asoc; sctp_getsockopt_default_prinfo() local 7459 struct sctp_association *asoc; sctp_getsockopt_pr_assocstatus() local 7518 struct sctp_association *asoc; sctp_getsockopt_pr_streamstatus() local 7582 struct sctp_association *asoc; sctp_getsockopt_reconfig_supported() local 7621 struct sctp_association *asoc; sctp_getsockopt_enable_strreset() local 7660 struct sctp_association *asoc; sctp_getsockopt_scheduler() local 7699 struct sctp_association *asoc; sctp_getsockopt_scheduler_value() local 7741 struct sctp_association *asoc; sctp_getsockopt_interleaving_supported() local 7798 struct sctp_association *asoc; sctp_getsockopt_event() local 7835 struct sctp_association *asoc; sctp_getsockopt_asconf_supported() local 7874 struct sctp_association *asoc; sctp_getsockopt_auth_supported() local 7913 struct sctp_association *asoc; sctp_getsockopt_ecn_supported() local 7952 struct sctp_association *asoc; sctp_getsockopt_pf_expose() local 7989 struct sctp_association *asoc; sctp_getsockopt_encap_port() local 8050 struct sctp_association *asoc; sctp_getsockopt_probe_interval() local 9112 __sctp_write_space(struct sctp_association * asoc) __sctp_write_space() argument 9144 sctp_wake_up_waiters(struct sock * sk,struct sctp_association * asoc) sctp_wake_up_waiters() argument 9190 struct sctp_association *asoc = chunk->asoc; sctp_wfree() local 9245 sctp_wait_for_sndbuf(struct sctp_association * asoc,struct sctp_transport * transport,long * timeo_p,size_t msg_len) sctp_wait_for_sndbuf() argument 9335 struct sctp_association *asoc; sctp_write_space() local 9362 sctp_wait_for_connect(struct sctp_association * asoc,long * timeo_p) sctp_wait_for_connect() argument [all...] |
| H A D | auth.c | 223 const struct sctp_association *asoc, in sctp_auth_make_local_vector() argument 227 (struct sctp_random_param *)asoc->c.auth_random, in sctp_auth_make_local_vector() 228 (struct sctp_chunks_param *)asoc->c.auth_chunks, in sctp_auth_make_local_vector() 229 (struct sctp_hmac_algo_param *)asoc->c.auth_hmacs, gfp); in sctp_auth_make_local_vector() 234 const struct sctp_association *asoc, in sctp_auth_make_peer_vector() argument 237 return sctp_auth_make_key_vector(asoc->peer.peer_random, in sctp_auth_make_peer_vector() 238 asoc->peer.peer_chunks, in sctp_auth_make_peer_vector() 239 asoc->peer.peer_hmacs, in sctp_auth_make_peer_vector() 288 const struct sctp_association *asoc, in sctp_auth_asoc_create_secret() argument 312 local_key_vector = sctp_auth_make_local_vector(asoc, gfp); in sctp_auth_asoc_create_secret() [all …]
|
| H A D | outqueue.c | 69 oute = SCTP_SO(&q->asoc->stream, stream)->ext; in sctp_outq_head_data() 90 oute = SCTP_SO(&q->asoc->stream, stream)->ext; in sctp_outq_tail_data() 191 void sctp_outq_init(struct sctp_association *asoc, struct sctp_outq *q) in sctp_outq_init() argument 195 q->asoc = asoc; in sctp_outq_init() 201 sctp_sched_set_sched(asoc, sctp_sk(asoc->base.sk)->default_ss); in sctp_outq_init() 213 list_for_each_entry(transport, &q->asoc->peer.transport_addr_list, in __sctp_outq_teardown() 270 sctp_outq_init(q->asoc, q); in sctp_outq_teardown() 283 struct net *net = q->asoc->base.net; in sctp_outq_tail() 300 if (chunk->asoc->peer.prsctp_capable && in sctp_outq_tail() 302 chunk->asoc->sent_cnt_removable++; in sctp_outq_tail() [all …]
|
| H A D | stream_sched.c | 60 struct sctp_stream *stream = &q->asoc->stream; in sctp_sched_fcfs_dequeue() 148 int sctp_sched_set_sched(struct sctp_association *asoc, in sctp_sched_set_sched() argument 151 const struct sctp_sched_ops *old = asoc->outqueue.sched; in sctp_sched_set_sched() 165 sctp_sched_free_sched(&asoc->stream); in sctp_sched_set_sched() 167 asoc->outqueue.sched = n; in sctp_sched_set_sched() 168 n->init(&asoc->stream); in sctp_sched_set_sched() 169 for (i = 0; i < asoc->stream.outcnt; i++) { in sctp_sched_set_sched() 170 if (!SCTP_SO(&asoc->stream, i)->ext) in sctp_sched_set_sched() 173 ret = n->init_sid(&asoc->stream, i, GFP_ATOMIC); in sctp_sched_set_sched() 179 list_for_each_entry(ch, &asoc in sctp_sched_set_sched() 195 sctp_sched_get_sched(struct sctp_association * asoc) sctp_sched_get_sched() argument 206 sctp_sched_set_value(struct sctp_association * asoc,__u16 sid,__u16 value,gfp_t gfp) sctp_sched_set_value() argument 223 sctp_sched_get_value(struct sctp_association * asoc,__u16 sid,__u16 * value) sctp_sched_get_value() argument 275 struct sctp_association *asoc; sctp_sched_ops_from_stream() local [all...] |
| H A D | ulpevent.c | 32 struct sctp_association *asoc); 77 const struct sctp_association *asoc) in sctp_ulpevent_set_owner() argument 85 sctp_association_hold((struct sctp_association *)asoc); in sctp_ulpevent_set_owner() 87 event->asoc = (struct sctp_association *)asoc; in sctp_ulpevent_set_owner() 88 atomic_add(event->rmem_len, &event->asoc->rmem_alloc); in sctp_ulpevent_set_owner() 89 sctp_skb_set_owner_r(skb, asoc->base.sk); in sctp_ulpevent_set_owner() 91 chunk->head_skb->sk = asoc->base.sk; in sctp_ulpevent_set_owner() 97 struct sctp_association *asoc = event->asoc; in sctp_ulpevent_release_owner() local 99 atomic_sub(event->rmem_len, &asoc->rmem_alloc); in sctp_ulpevent_release_owner() 100 sctp_association_put(asoc); in sctp_ulpevent_release_owner() [all …]
|
| H A D | chunk.c | 74 struct sctp_association *asoc = NULL; in sctp_datamsg_destroy() local 90 asoc = chunk->asoc; in sctp_datamsg_destroy() 91 error = msg->send_error ?: asoc->outqueue.error; in sctp_datamsg_destroy() 94 if (sctp_ulpevent_type_enabled(asoc->subscribe, in sctp_datamsg_destroy() 96 ev = sctp_ulpevent_make_send_failed(asoc, chunk, sent, in sctp_datamsg_destroy() 99 asoc->stream.si->enqueue_event(&asoc->ulpq, ev); in sctp_datamsg_destroy() 102 if (sctp_ulpevent_type_enabled(asoc->subscribe, in sctp_datamsg_destroy() 104 ev = sctp_ulpevent_make_send_failed_event(asoc, chunk, in sctp_datamsg_destroy() 108 asoc->stream.si->enqueue_event(&asoc->ulpq, ev); in sctp_datamsg_destroy() 146 struct sctp_datamsg *sctp_datamsg_from_user(struct sctp_association *asoc, in sctp_datamsg_from_user() argument [all …]
|
| H A D | output.c | 77 struct sctp_association *asoc = tp->asoc; in sctp_packet_config() local 91 if (asoc) { in sctp_packet_config() 92 sk = asoc->base.sk; in sctp_packet_config() 98 if (!asoc) in sctp_packet_config() 104 if (asoc->param_flags & SPP_PMTUD_ENABLE) in sctp_packet_config() 105 sctp_assoc_sync_pmtu(asoc); in sctp_packet_config() 107 asoc->param_flags & SPP_PMTUD_ENABLE) { in sctp_packet_config() 109 sctp_assoc_sync_pmtu(asoc); in sctp_packet_config() 112 if (asoc->pmtu_pending) { in sctp_packet_config() 113 if (asoc->param_flags & SPP_PMTUD_ENABLE) in sctp_packet_config() [all …]
|
| H A D | transport.c | 161 if (transport->asoc) in sctp_transport_destroy() 162 sctp_association_put(transport->asoc); in sctp_transport_destroy() 224 struct sctp_association *asoc) in sctp_transport_set_owner() argument 226 transport->asoc = asoc; in sctp_transport_set_owner() 227 sctp_association_hold(asoc); in sctp_transport_set_owner() 241 struct sctp_association *asoc = transport->asoc; in sctp_transport_pmtu() local 243 if (!transport->pathmtu && asoc && asoc->pathmtu) in sctp_transport_pmtu() 244 transport->pathmtu = asoc->pathmtu; in sctp_transport_pmtu() 269 sctp_assoc_sync_pmtu(t->asoc); in sctp_transport_pl_send() 279 sctp_assoc_sync_pmtu(t->asoc); in sctp_transport_pl_send() [all …]
|
| H A D | input.c | 91 struct sctp_association *asoc; in sctp_rcv() local 165 asoc = __sctp_rcv_lookup(net, skb, &src, &dest, &transport, dif, sdif); in sctp_rcv() 167 if (!asoc) in sctp_rcv() 171 rcvr = asoc ? &asoc->base : &ep->base; in sctp_rcv() 182 if (!asoc) { in sctp_rcv() 197 chunk = sctp_chunkify(skb, asoc, sk, GFP_ATOMIC); in sctp_rcv() 372 void sctp_icmp_frag_needed(struct sock *sk, struct sctp_association *asoc, in sctp_icmp_frag_needed() argument 382 asoc->pmtu_pending = 1; in sctp_icmp_frag_needed() 402 sctp_assoc_sync_pmtu(asoc); in sctp_icmp_frag_needed() 405 sctp_retransmit(&asoc->outqueue, t, SCTP_RTXR_PMTUD); in sctp_icmp_frag_needed() [all …]
|
| H A D | diag.c | 28 struct sctp_association *asoc) in inet_diag_msg_sctpasoc_fill() argument 32 struct timer_list *t3_rtx = &asoc->peer.primary_path->T3_rtx_timer; in inet_diag_msg_sctpasoc_fill() 34 laddr = list_entry(asoc->base.bind_addr.address_list.next, in inet_diag_msg_sctpasoc_fill() 36 paddr = asoc->peer.primary_path->ipaddr; in inet_diag_msg_sctpasoc_fill() 37 dst = asoc->peer.primary_path->dst; in inet_diag_msg_sctpasoc_fill() 40 r->id.idiag_sport = htons(asoc->base.bind_addr.port); in inet_diag_msg_sctpasoc_fill() 41 r->id.idiag_dport = htons(asoc->peer.port); in inet_diag_msg_sctpasoc_fill() 59 r->idiag_state = asoc->state; in inet_diag_msg_sctpasoc_fill() 62 r->idiag_retrans = asoc->rtx_data_chunks; in inet_diag_msg_sctpasoc_fill() 101 struct sctp_association *asoc) in inet_diag_msg_sctpaddrs_fill() argument [all …]
|
| H A D | endpointola.c | 156 struct sctp_association *asoc) in sctp_endpoint_add_asoc() argument 164 if (asoc->temp) in sctp_endpoint_add_asoc() 168 list_add_tail(&asoc->asocs, &ep->asocs); in sctp_endpoint_add_asoc() 276 struct sctp_association *asoc = NULL; in sctp_endpoint_lookup_assoc() local 293 asoc = t->asoc; in sctp_endpoint_lookup_assoc() 296 return asoc; in sctp_endpoint_lookup_assoc() 331 struct sctp_association *asoc; in sctp_endpoint_bh_rcv() local 345 asoc = NULL; in sctp_endpoint_bh_rcv() 382 if (NULL == chunk->asoc) { in sctp_endpoint_bh_rcv() 383 asoc = sctp_endpoint_lookup_assoc(ep, in sctp_endpoint_bh_rcv() [all …]
|
| H A D | ulpqueue.c | 41 void sctp_ulpq_init(struct sctp_ulpq *ulpq, struct sctp_association *asoc) in sctp_ulpq_init() argument 45 ulpq->asoc = asoc; in sctp_ulpq_init() 90 event = sctp_ulpevent_make_rcvmsg(chunk->asoc, chunk, gfp); in sctp_ulpq_tail_data() 125 int sctp_clear_pd(struct sock *sk, struct sctp_association *asoc) in sctp_clear_pd() argument 144 if (!skb_queue_empty(&sp->pd_lobby) && asoc) { in sctp_clear_pd() 150 if (event->asoc == asoc) { in sctp_clear_pd() 165 struct sctp_sock *sp = sctp_sk(ulpq->asoc->base.sk); in sctp_ulpq_set_pd() 176 return sctp_clear_pd(ulpq->asoc->base.sk, ulpq->asoc); in sctp_ulpq_clear_pd() 181 struct sock *sk = ulpq->asoc->base.sk; in sctp_ulpq_tail_event() 204 if (!sctp_ulpevent_is_enabled(event, ulpq->asoc->subscribe)) in sctp_ulpq_tail_event() [all …]
|
| H A D | stream_interleave.c | 25 const struct sctp_association *asoc, in sctp_make_idatafrag_empty() argument 38 retval = sctp_make_idata(asoc, flags, sizeof(dp) + len, gfp); in sctp_make_idatafrag_empty() 59 stream = &chunk->asoc->stream; in sctp_chunk_assign_mid() 98 stream = &chunk->asoc->stream; in sctp_validate_data() 117 stream = &chunk->asoc->stream; in sctp_validate_idata() 192 sin = sctp_stream_in(&ulpq->asoc->stream, event->stream); in sctp_intl_retrieve_partial() 244 retval = sctp_make_reassembled_event(ulpq->asoc->base.net, &ulpq->reasm, in sctp_intl_retrieve_partial() 261 struct sctp_association *asoc = ulpq->asoc; in sctp_intl_retrieve_reassembled() local 272 sin = sctp_stream_in(&ulpq->asoc->stream, event->stream); in sctp_intl_retrieve_reassembled() 326 pd_point = sctp_sk(asoc->base.sk)->pd_point; in sctp_intl_retrieve_reassembled() [all …]
|
| H A D | primitive.c | 38 int sctp_primitive_ ## name(struct net *net, struct sctp_association *asoc, \ 47 state = asoc ? asoc->state : SCTP_STATE_CLOSED; \ 48 ep = asoc ? asoc->ep : NULL; \ 50 error = sctp_do_sm(net, event_type, subtype, state, ep, asoc, \
|
| H A D | stream_sched_rr.c | 106 stream = &q->asoc->stream; in sctp_sched_rr_enqueue() 112 struct sctp_stream *stream = &q->asoc->stream; in sctp_sched_rr_dequeue() 141 soute = SCTP_SO(&q->asoc->stream, sid)->ext; in sctp_sched_rr_dequeue_done() 143 sctp_sched_rr_next_stream(&q->asoc->stream); in sctp_sched_rr_dequeue_done() 146 sctp_sched_rr_unsched(&q->asoc->stream, soute); in sctp_sched_rr_dequeue_done() 151 struct sctp_association *asoc; in sctp_sched_rr_sched_all() local 155 asoc = container_of(stream, struct sctp_association, stream); in sctp_sched_rr_sched_all() 156 list_for_each_entry(ch, &asoc->outqueue.out_chunk_list, list) { in sctp_sched_rr_sched_all()
|
| H A D | ipv6.c | 129 struct sctp_association *asoc = t->asoc; in sctp_v6_err_handle() local 130 struct sock *sk = asoc->base.sk; in sctp_v6_err_handle() 136 sctp_icmp_frag_needed(sk, asoc, t, info); in sctp_v6_err_handle() 140 sctp_icmp_proto_unreachable(sk, asoc, t); in sctp_v6_err_handle() 166 struct sctp_association *asoc; in sctp_v6_err() local 175 sk = sctp_err_lookup(net, AF_INET6, skb, sctp_hdr(skb), &asoc, &transport); in sctp_v6_err() 193 struct sctp_association *asoc; in sctp_udp_v6_err() local 199 sk = sctp_err_lookup(net, AF_INET6, skb, sctp_hdr(skb), &asoc, &t); in sctp_udp_v6_err() 278 struct sctp_association *asoc in sctp_v6_get_dst() 276 struct sctp_association *asoc = t->asoc; sctp_v6_get_dst() local 836 struct sctp_association *asoc; sctp_inet6_event_msgname() local [all...] |
| /linux/include/net/sctp/ |
| H A D | sm.h | 56 const struct sctp_association *asoc, 169 struct sctp_chunk *sctp_make_init(const struct sctp_association *asoc, 172 struct sctp_chunk *sctp_make_init_ack(const struct sctp_association *asoc, 175 struct sctp_chunk *sctp_make_cookie_echo(const struct sctp_association *asoc, 177 struct sctp_chunk *sctp_make_cookie_ack(const struct sctp_association *asoc, 179 struct sctp_chunk *sctp_make_cwr(const struct sctp_association *asoc, 182 struct sctp_chunk *sctp_make_idata(const struct sctp_association *asoc, 184 struct sctp_chunk *sctp_make_ifwdtsn(const struct sctp_association *asoc, 187 struct sctp_chunk *sctp_make_datafrag_empty(const struct sctp_association *asoc, 190 struct sctp_chunk *sctp_make_ecne(const struct sctp_association *asoc, 376 sctp_vtag_verify(const struct sctp_chunk * chunk,const struct sctp_association * asoc) sctp_vtag_verify() argument 396 sctp_vtag_verify_either(const struct sctp_chunk * chunk,const struct sctp_association * asoc) sctp_vtag_verify_either() argument [all...] |
| H A D | ulpevent.h | 39 struct sctp_association *asoc; member 74 const struct sctp_association *asoc, 87 const struct sctp_association *asoc, 92 const struct sctp_association *asoc, 99 const struct sctp_association *asoc, 106 const struct sctp_association *asoc, 111 const struct sctp_association *asoc, 116 const struct sctp_association *asoc, gfp_t gfp); 118 struct sctp_ulpevent *sctp_ulpevent_make_rcvmsg(struct sctp_association *asoc, 123 const struct sctp_association *asoc, __u16 key_id, [all …]
|
| /linux/include/trace/events/ |
| H A D | sctp.h | 14 const struct sctp_association *asoc), 16 TP_ARGS(sp, asoc), 19 __field(__u64, asoc) 31 __entry->asoc = (unsigned long)asoc; 32 __entry->primary = (sp == asoc->peer.primary_path); 44 __entry->asoc, __entry->primary ? "(*)" : "", 53 const struct sctp_association *asoc, 56 TP_ARGS(ep, asoc, chunk), 59 __field(__u64, asoc) 71 __entry->asoc = (unsigned long)asoc; [all …]
|
| /linux/Documentation/translations/zh_CN/security/ |
| H A D | SCTP.rst | 31 将关联INIT数据包的 ``@asoc`` 和 ``@chunk->skb`` 传递给安全模块。 35 @asoc - 指向sctp关联结构的指针。 113 @asoc - 指向当前sctp关联结构的指针。 121 到 ``@asoc->peer_secid`` 中:: 123 @asoc - 指向sctp关联结构的指针。 194 将关联INIT数据包的 ``@asoc`` 和 ``@chunk->skb`` 传递给安全模块。 198 @asoc - 指向sctp关联结构的指针。 202 如果这是 ``@asoc->base.sk`` 上的首次关联,则将对端的sid设置 204 关联的 ``@asoc->base.sk``。 206 否则验证 ``@asoc->base.sk peer sid`` 是否与 ``@skb peer sid`` [all …]
|
| /linux/Documentation/security/ |
| H A D | SCTP.rst | 26 Passes the ``@asoc`` and ``@chunk->skb`` of the association INIT packet to the 30 @asoc - pointer to sctp association structure. 117 @asoc - pointer to current sctp association structure. 125 saved into ``@asoc->peer_secid`` for client:: 127 @asoc - pointer to sctp association structure. 204 Passes the ``@asoc`` and ``@chunk->skb`` of the association INIT packet to the 208 @asoc - pointer to sctp association structure. 212 IF this is the first association on ``@asoc->base.sk``, then set the peer 214 assigned to ``@asoc->base.sk`` that may support multiple associations. 216 ELSE validate the ``@asoc->base.sk peer_sid`` against the ``@skb peer sid`` [all …]
|