Lines Matching refs:ep
109 return asoc->ep->sndbuf_policy ? sk->sk_sndbuf - asoc->sndbuf_used in sctp_wspace()
244 if (!list_empty(&sctp_sk(sk)->ep->asocs)) in sctp_id2assoc()
245 asoc = list_entry(sctp_sk(sk)->ep->asocs.next, in sctp_id2assoc()
279 addr_asoc = sctp_endpoint_lookup_assoc(sctp_sk(sk)->ep, in sctp_addr_id2transport()
316 if (!sctp_sk(sk)->ep->base.bind_addr.port) in sctp_bind()
377 struct sctp_endpoint *ep = sp->ep; in sctp_do_bind() local
378 struct sctp_bind_addr *bp = &ep->base.bind_addr; in sctp_do_bind()
560 struct sctp_endpoint *ep; in sctp_send_asconf_add_ip() local
574 ep = sp->ep; in sctp_send_asconf_add_ip()
576 if (!ep->asconf_enable) in sctp_send_asconf_add_ip()
582 list_for_each_entry(asoc, &ep->asocs, asocs) { in sctp_send_asconf_add_ip()
681 struct sctp_endpoint *ep = sp->ep; in sctp_bindx_rem() local
683 struct sctp_bind_addr *bp = &ep->base.bind_addr; in sctp_bindx_rem()
762 struct sctp_endpoint *ep; in sctp_send_asconf_del_ip() local
777 ep = sp->ep; in sctp_send_asconf_del_ip()
779 if (!ep->asconf_enable) in sctp_send_asconf_del_ip()
785 list_for_each_entry(asoc, &ep->asocs, asocs) { in sctp_send_asconf_del_ip()
917 addr->v4.sin_port = htons(sp->ep->base.bind_addr.port); in sctp_asconf_mgmt()
1067 static int sctp_connect_new_asoc(struct sctp_endpoint *ep, in sctp_connect_new_asoc() argument
1073 struct sock *sk = ep->base.sk; in sctp_connect_new_asoc()
1078 if (sctp_endpoint_is_peeled_off(ep, daddr)) in sctp_connect_new_asoc()
1081 if (!ep->base.bind_addr.port) { in sctp_connect_new_asoc()
1085 if (inet_is_local_unbindable_port(net, ep->base.bind_addr.port)) in sctp_connect_new_asoc()
1087 if (inet_port_requires_bind_service(net, ep->base.bind_addr.port) && in sctp_connect_new_asoc()
1093 asoc = sctp_association_new(ep, sk, scope, GFP_KERNEL); in sctp_connect_new_asoc()
1139 struct sctp_endpoint *ep = asoc->ep; in sctp_connect_add_peer() local
1144 err = sctp_verify_addr(ep->base.sk, daddr, addr_len); in sctp_connect_add_peer()
1148 old = sctp_endpoint_lookup_assoc(ep, daddr, &t); in sctp_connect_add_peer()
1153 if (sctp_endpoint_is_peeled_off(ep, daddr)) in sctp_connect_add_peer()
1172 struct sctp_endpoint *ep = sp->ep; in __sctp_connect() local
1194 asoc = sctp_endpoint_lookup_assoc(ep, daddr, &transport); in __sctp_connect()
1199 err = sctp_connect_new_asoc(ep, daddr, NULL, &transport); in __sctp_connect()
1488 struct sctp_endpoint *ep; in sctp_close() local
1499 ep = sctp_sk(sk)->ep; in sctp_close()
1506 list_for_each_safe(pos, temp, &ep->asocs) { in sctp_close()
1664 struct sctp_endpoint *ep = sctp_sk(sk)->ep; in sctp_sendmsg_new_asoc() local
1695 err = sctp_connect_new_asoc(ep, daddr, cmsgs->init, tp); in sctp_sendmsg_new_asoc()
1850 if (asoc->ep->intl_enable) { in sctp_sendmsg_to_asoc()
1950 struct sctp_endpoint *ep = sctp_sk(sk)->ep; in sctp_sendmsg() local
1979 list_for_each_entry_safe(asoc, tmp, &ep->asocs, asocs) { in sctp_sendmsg()
2002 asoc = sctp_endpoint_lookup_assoc(ep, daddr, &transport); in sctp_sendmsg()
2233 list_for_each_entry(asoc, &sp->ep->asocs, asocs) in sctp_setsockopt_events()
2823 list_for_each_entry(asoc, &sp->ep->asocs, asocs) in __sctp_setsockopt_delayed_ack()
2944 list_for_each_entry(asoc, &sp->ep->asocs, asocs) { in sctp_setsockopt_default_send_param()
3000 list_for_each_entry(asoc, &sp->ep->asocs, asocs) { in sctp_setsockopt_default_sndinfo()
3322 if (!sp->ep->asconf_enable) in sctp_setsockopt_peer_primary_addr()
3427 list_for_each_entry(asoc, &sp->ep->asocs, asocs) in sctp_setsockopt_context()
3466 sctp_sk(sk)->ep->intl_enable = 0; in sctp_setsockopt_fragment_interleave()
3556 list_for_each_entry(asoc, &sp->ep->asocs, asocs) in sctp_setsockopt_maxburst()
3573 struct sctp_endpoint *ep = sctp_sk(sk)->ep; in sctp_setsockopt_auth_chunk() local
3575 if (!ep->auth_enable) in sctp_setsockopt_auth_chunk()
3590 return sctp_auth_ep_add_chunkid(ep, val->sauth_chunk); in sctp_setsockopt_auth_chunk()
3603 struct sctp_endpoint *ep = sctp_sk(sk)->ep; in sctp_setsockopt_hmac_ident() local
3606 if (!ep->auth_enable) in sctp_setsockopt_hmac_ident()
3619 return sctp_auth_ep_set_hmacs(ep, hmacs); in sctp_setsockopt_hmac_ident()
3632 struct sctp_endpoint *ep = sctp_sk(sk)->ep; in sctp_setsockopt_auth_key() local
3652 ret = sctp_auth_set_key(ep, asoc, authkey); in sctp_setsockopt_auth_key()
3661 ret = sctp_auth_set_key(ep, asoc, authkey); in sctp_setsockopt_auth_key()
3670 list_for_each_entry(asoc, &ep->asocs, asocs) { in sctp_setsockopt_auth_key()
3671 int res = sctp_auth_set_key(ep, asoc, authkey); in sctp_setsockopt_auth_key()
3693 struct sctp_endpoint *ep = sctp_sk(sk)->ep; in sctp_setsockopt_active_key() local
3706 return sctp_auth_set_active_key(ep, asoc, val->scact_keynumber); in sctp_setsockopt_active_key()
3713 ret = sctp_auth_set_active_key(ep, asoc, val->scact_keynumber); in sctp_setsockopt_active_key()
3720 list_for_each_entry(asoc, &ep->asocs, asocs) { in sctp_setsockopt_active_key()
3721 int res = sctp_auth_set_active_key(ep, asoc, in sctp_setsockopt_active_key()
3741 struct sctp_endpoint *ep = sctp_sk(sk)->ep; in sctp_setsockopt_del_key() local
3754 return sctp_auth_del_key_id(ep, asoc, val->scact_keynumber); in sctp_setsockopt_del_key()
3761 ret = sctp_auth_del_key_id(ep, asoc, val->scact_keynumber); in sctp_setsockopt_del_key()
3768 list_for_each_entry(asoc, &ep->asocs, asocs) { in sctp_setsockopt_del_key()
3769 int res = sctp_auth_del_key_id(ep, asoc, in sctp_setsockopt_del_key()
3789 struct sctp_endpoint *ep = sctp_sk(sk)->ep; in sctp_setsockopt_deactivate_key() local
3802 return sctp_auth_deact_key_id(ep, asoc, val->scact_keynumber); in sctp_setsockopt_deactivate_key()
3809 ret = sctp_auth_deact_key_id(ep, asoc, val->scact_keynumber); in sctp_setsockopt_deactivate_key()
3816 list_for_each_entry(asoc, &ep->asocs, asocs) { in sctp_setsockopt_deactivate_key()
3817 int res = sctp_auth_deact_key_id(ep, asoc, in sctp_setsockopt_deactivate_key()
3973 sctp_sk(sk)->ep->prsctp_enable = !!params->assoc_value; in sctp_setsockopt_pr_supported()
4019 list_for_each_entry(asoc, &sp->ep->asocs, asocs) { in sctp_setsockopt_default_prinfo()
4045 sctp_sk(sk)->ep->reconf_enable = !!params->assoc_value; in sctp_setsockopt_reconfig_supported()
4057 struct sctp_endpoint *ep = sctp_sk(sk)->ep; in sctp_setsockopt_enable_strreset() local
4084 ep->strreset_enable = params->assoc_value; in sctp_setsockopt_enable_strreset()
4088 list_for_each_entry(asoc, &ep->asocs, asocs) in sctp_setsockopt_enable_strreset()
4180 list_for_each_entry(asoc, &sp->ep->asocs, asocs) { in sctp_setsockopt_scheduler()
4215 list_for_each_entry(asoc, &sctp_sk(sk)->ep->asocs, asocs) { in sctp_setsockopt_scheduler_value()
4245 sp->ep->intl_enable = !!p->assoc_value; in sctp_setsockopt_interleaving_supported()
4255 if (sctp_sk(sk)->ep->base.bind_addr.port) in sctp_setsockopt_reuse_port()
4319 list_for_each_entry(asoc, &sp->ep->asocs, asocs) { in sctp_setsockopt_event()
4335 struct sctp_endpoint *ep; in sctp_setsockopt_asconf_supported() local
4346 ep = sctp_sk(sk)->ep; in sctp_setsockopt_asconf_supported()
4347 ep->asconf_enable = !!params->assoc_value; in sctp_setsockopt_asconf_supported()
4349 if (ep->asconf_enable && ep->auth_enable) { in sctp_setsockopt_asconf_supported()
4350 sctp_auth_ep_add_chunkid(ep, SCTP_CID_ASCONF); in sctp_setsockopt_asconf_supported()
4351 sctp_auth_ep_add_chunkid(ep, SCTP_CID_ASCONF_ACK); in sctp_setsockopt_asconf_supported()
4365 struct sctp_endpoint *ep; in sctp_setsockopt_auth_supported() local
4376 ep = sctp_sk(sk)->ep; in sctp_setsockopt_auth_supported()
4378 retval = sctp_auth_init(ep, GFP_KERNEL); in sctp_setsockopt_auth_supported()
4381 if (ep->asconf_enable) { in sctp_setsockopt_auth_supported()
4382 sctp_auth_ep_add_chunkid(ep, SCTP_CID_ASCONF); in sctp_setsockopt_auth_supported()
4383 sctp_auth_ep_add_chunkid(ep, SCTP_CID_ASCONF_ACK); in sctp_setsockopt_auth_supported()
4387 ep->auth_enable = !!params->assoc_value; in sctp_setsockopt_auth_supported()
4409 sctp_sk(sk)->ep->ecn_enable = !!params->assoc_value; in sctp_setsockopt_ecn_supported()
4740 struct sctp_endpoint *ep; in sctp_accept() local
4749 ep = sp->ep; in sctp_accept()
4770 asoc = list_entry(ep->asocs.next, struct sctp_association, asocs); in sctp_accept()
4956 sp->ep = sctp_endpoint_new(sk, GFP_KERNEL); in sctp_init_sock()
4957 if (!sp->ep) in sctp_init_sock()
4989 if (sp->ep == NULL) in sctp_destroy_sock()
4996 sctp_endpoint_free(sp->ep); in sctp_destroy_sock()
5037 struct sctp_endpoint *ep; in sctp_shutdown() local
5042 ep = sctp_sk(sk)->ep; in sctp_shutdown()
5043 if (how & SEND_SHUTDOWN && !list_empty(&ep->asocs)) { in sctp_shutdown()
5047 asoc = list_entry(ep->asocs.next, in sctp_shutdown()
5245 struct sctp_endpoint *ep; in sctp_transport_traverse_process() local
5254 ep = tsp->asoc->ep; in sctp_transport_traverse_process()
5255 if (sctp_endpoint_hold(ep)) { /* asoc can be peeled off */ in sctp_transport_traverse_process()
5256 ret = cb(ep, tsp, p); in sctp_transport_traverse_process()
5259 sctp_endpoint_put(ep); in sctp_transport_traverse_process()
5267 if (cb_done && !cb_done(ep, tsp, p)) { in sctp_transport_traverse_process()
5269 sctp_endpoint_put(ep); in sctp_transport_traverse_process()
5273 sctp_endpoint_put(ep); in sctp_transport_traverse_process()
6147 bp = &sctp_sk(sk)->ep->base.bind_addr; in sctp_getsockopt_local_addrs()
6771 struct sctp_endpoint *ep = sctp_sk(sk)->ep; in sctp_getsockopt_hmac_ident() local
6778 if (!ep->auth_enable) in sctp_getsockopt_hmac_ident()
6781 hmacs = ep->auth_hmacs_list; in sctp_getsockopt_hmac_ident()
6807 struct sctp_endpoint *ep = sctp_sk(sk)->ep; in sctp_getsockopt_active_key() local
6827 if (!ep->auth_enable) in sctp_getsockopt_active_key()
6829 val.scact_keynumber = ep->active_key_id; in sctp_getsockopt_active_key()
6887 struct sctp_endpoint *ep = sctp_sk(sk)->ep; in sctp_getsockopt_local_auth_chunks() local
6912 if (!ep->auth_enable) in sctp_getsockopt_local_auth_chunks()
6914 ch = ep->auth_chunk_list; in sctp_getsockopt_local_auth_chunks()
6955 list_for_each_entry(asoc, &(sp->ep->asocs), asocs) { in sctp_getsockopt_assoc_number()
7010 list_for_each_entry(asoc, &(sp->ep->asocs), asocs) { in sctp_getsockopt_assoc_ids()
7025 list_for_each_entry(asoc, &(sp->ep->asocs), asocs) { in sctp_getsockopt_assoc_ids()
7227 : sctp_sk(sk)->ep->prsctp_enable; in sctp_getsockopt_pr_supported()
7435 : sctp_sk(sk)->ep->reconf_enable; in sctp_getsockopt_reconfig_supported()
7474 : sctp_sk(sk)->ep->strreset_enable; in sctp_getsockopt_enable_strreset()
7594 : sctp_sk(sk)->ep->intl_enable; in sctp_getsockopt_interleaving_supported()
7688 : sctp_sk(sk)->ep->asconf_enable; in sctp_getsockopt_asconf_supported()
7727 : sctp_sk(sk)->ep->auth_enable; in sctp_getsockopt_auth_supported()
7766 : sctp_sk(sk)->ep->ecn_enable; in sctp_getsockopt_ecn_supported()
8172 struct sctp_endpoint *ep2 = sp2->ep; in sctp_get_port_local()
8261 struct sctp_endpoint *ep = sp->ep; in sctp_listen_start() local
8289 if (!ep->base.bind_addr.port) { in sctp_listen_start()
8300 return sctp_hash_endpoint(ep); in sctp_listen_start()
8320 struct sctp_endpoint *ep = sctp_sk(sk)->ep; in sctp_inet_listen() local
8344 sctp_unhash_endpoint(ep); in sctp_inet_listen()
8393 return (!list_empty(&sp->ep->asocs)) ? in sctp_poll()
8719 if (list_empty(&sctp_sk(sk)->ep->asocs) && !sctp_sstate(sk, LISTENING)) in sctp_wait_for_packet()
8850 if (asoc->ep->sndbuf_policy) in sctp_wake_up_waiters()
8872 if (&tmp->asocs == &((sctp_sk(sk))->ep->asocs)) in sctp_wake_up_waiters()
9032 list_for_each_entry(asoc, &((sctp_sk(sk))->ep->asocs), asocs) { in sctp_write_space()
9120 struct sctp_endpoint *ep; in sctp_wait_for_accept() local
9124 ep = sctp_sk(sk)->ep; in sctp_wait_for_accept()
9131 if (list_empty(&ep->asocs)) { in sctp_wait_for_accept()
9142 if (!list_empty(&ep->asocs)) in sctp_wait_for_accept()
9165 if (list_empty(&sctp_sk(sk)->ep->asocs)) in sctp_wait_for_close()
9196 struct sctp_endpoint *ep = sp->ep; in sctp_copy_sock() local
9243 security_sctp_sk_clone(ep, sk, newsk); in sctp_copy_sock()
9266 struct sctp_endpoint *newep = newsp->ep; in sctp_sock_migrate()
9283 newsp->ep = newep; in sctp_sock_migrate()
9299 err = sctp_bind_addr_dup(&newsp->ep->base.bind_addr, in sctp_sock_migrate()
9300 &oldsp->ep->base.bind_addr, GFP_KERNEL); in sctp_sock_migrate()
9308 if (oldsp->ep->auth_hmacs) { in sctp_sock_migrate()
9309 err = sctp_auth_init_hmacs(newsp->ep, GFP_KERNEL); in sctp_sock_migrate()