• Home
  • Raw
  • Download

Lines Matching refs:params

2425 static int sctp_apply_peer_addr_params(struct sctp_paddrparams *params,  in sctp_apply_peer_addr_params()  argument
2435 if (params->spp_flags & SPP_HB_DEMAND && trans) { in sctp_apply_peer_addr_params()
2446 if (params->spp_flags & SPP_HB_ENABLE) { in sctp_apply_peer_addr_params()
2452 if (params->spp_flags & SPP_HB_TIME_IS_ZERO) in sctp_apply_peer_addr_params()
2453 params->spp_hbinterval = 0; in sctp_apply_peer_addr_params()
2455 if (params->spp_hbinterval || in sctp_apply_peer_addr_params()
2456 (params->spp_flags & SPP_HB_TIME_IS_ZERO)) { in sctp_apply_peer_addr_params()
2459 msecs_to_jiffies(params->spp_hbinterval); in sctp_apply_peer_addr_params()
2463 msecs_to_jiffies(params->spp_hbinterval); in sctp_apply_peer_addr_params()
2465 sp->hbinterval = params->spp_hbinterval; in sctp_apply_peer_addr_params()
2488 if ((params->spp_flags & SPP_PMTUD_DISABLE) && params->spp_pathmtu) { in sctp_apply_peer_addr_params()
2490 trans->pathmtu = params->spp_pathmtu; in sctp_apply_peer_addr_params()
2493 sctp_assoc_set_pmtu(asoc, params->spp_pathmtu); in sctp_apply_peer_addr_params()
2495 sp->pathmtu = params->spp_pathmtu; in sctp_apply_peer_addr_params()
2502 (params->spp_flags & SPP_PMTUD_ENABLE); in sctp_apply_peer_addr_params()
2523 if ((params->spp_flags & SPP_SACKDELAY_ENABLE) && params->spp_sackdelay) { in sctp_apply_peer_addr_params()
2526 msecs_to_jiffies(params->spp_sackdelay); in sctp_apply_peer_addr_params()
2529 msecs_to_jiffies(params->spp_sackdelay); in sctp_apply_peer_addr_params()
2531 sp->sackdelay = params->spp_sackdelay; in sctp_apply_peer_addr_params()
2554 if (params->spp_pathmaxrxt) { in sctp_apply_peer_addr_params()
2556 trans->pathmaxrxt = params->spp_pathmaxrxt; in sctp_apply_peer_addr_params()
2558 asoc->pathmaxrxt = params->spp_pathmaxrxt; in sctp_apply_peer_addr_params()
2560 sp->pathmaxrxt = params->spp_pathmaxrxt; in sctp_apply_peer_addr_params()
2564 if (params->spp_flags & SPP_IPV6_FLOWLABEL) { in sctp_apply_peer_addr_params()
2567 trans->flowlabel = params->spp_ipv6_flowlabel & in sctp_apply_peer_addr_params()
2578 t->flowlabel = params->spp_ipv6_flowlabel & in sctp_apply_peer_addr_params()
2582 asoc->flowlabel = params->spp_ipv6_flowlabel & in sctp_apply_peer_addr_params()
2586 sp->flowlabel = params->spp_ipv6_flowlabel & in sctp_apply_peer_addr_params()
2592 if (params->spp_flags & SPP_DSCP) { in sctp_apply_peer_addr_params()
2594 trans->dscp = params->spp_dscp & SCTP_DSCP_VAL_MASK; in sctp_apply_peer_addr_params()
2601 t->dscp = params->spp_dscp & in sctp_apply_peer_addr_params()
2605 asoc->dscp = params->spp_dscp & SCTP_DSCP_VAL_MASK; in sctp_apply_peer_addr_params()
2608 sp->dscp = params->spp_dscp & SCTP_DSCP_VAL_MASK; in sctp_apply_peer_addr_params()
2617 struct sctp_paddrparams *params, in sctp_setsockopt_peer_addr_params() argument
2628 if (params->spp_flags & (SPP_DSCP | SPP_IPV6_FLOWLABEL)) in sctp_setsockopt_peer_addr_params()
2630 } else if (optlen != sizeof(*params)) { in sctp_setsockopt_peer_addr_params()
2635 hb_change = params->spp_flags & SPP_HB; in sctp_setsockopt_peer_addr_params()
2636 pmtud_change = params->spp_flags & SPP_PMTUD; in sctp_setsockopt_peer_addr_params()
2637 sackdelay_change = params->spp_flags & SPP_SACKDELAY; in sctp_setsockopt_peer_addr_params()
2642 params->spp_sackdelay > 500 || in sctp_setsockopt_peer_addr_params()
2643 (params->spp_pathmtu && in sctp_setsockopt_peer_addr_params()
2644 params->spp_pathmtu < SCTP_DEFAULT_MINSEGMENT)) in sctp_setsockopt_peer_addr_params()
2650 if (!sctp_is_any(sk, (union sctp_addr *)&params->spp_address)) { in sctp_setsockopt_peer_addr_params()
2651 trans = sctp_addr_id2transport(sk, &params->spp_address, in sctp_setsockopt_peer_addr_params()
2652 params->spp_assoc_id); in sctp_setsockopt_peer_addr_params()
2661 asoc = sctp_id2assoc(sk, params->spp_assoc_id); in sctp_setsockopt_peer_addr_params()
2662 if (!asoc && params->spp_assoc_id != SCTP_FUTURE_ASSOC && in sctp_setsockopt_peer_addr_params()
2669 if (params->spp_flags & SPP_HB_DEMAND && !trans && !asoc) in sctp_setsockopt_peer_addr_params()
2673 error = sctp_apply_peer_addr_params(params, trans, asoc, sp, in sctp_setsockopt_peer_addr_params()
2686 sctp_apply_peer_addr_params(params, trans, asoc, sp, in sctp_setsockopt_peer_addr_params()
2705 static void sctp_apply_asoc_delayed_ack(struct sctp_sack_info *params, in sctp_apply_asoc_delayed_ack() argument
2710 if (params->sack_delay) { in sctp_apply_asoc_delayed_ack()
2711 asoc->sackdelay = msecs_to_jiffies(params->sack_delay); in sctp_apply_asoc_delayed_ack()
2715 if (params->sack_freq == 1) { in sctp_apply_asoc_delayed_ack()
2718 } else if (params->sack_freq > 1) { in sctp_apply_asoc_delayed_ack()
2719 asoc->sackfreq = params->sack_freq; in sctp_apply_asoc_delayed_ack()
2726 if (params->sack_delay) { in sctp_apply_asoc_delayed_ack()
2727 trans->sackdelay = msecs_to_jiffies(params->sack_delay); in sctp_apply_asoc_delayed_ack()
2731 if (params->sack_freq == 1) { in sctp_apply_asoc_delayed_ack()
2734 } else if (params->sack_freq > 1) { in sctp_apply_asoc_delayed_ack()
2735 trans->sackfreq = params->sack_freq; in sctp_apply_asoc_delayed_ack()
2778 struct sctp_sack_info *params) in __sctp_setsockopt_delayed_ack() argument
2784 if (params->sack_delay > 500) in __sctp_setsockopt_delayed_ack()
2791 asoc = sctp_id2assoc(sk, params->sack_assoc_id); in __sctp_setsockopt_delayed_ack()
2792 if (!asoc && params->sack_assoc_id > SCTP_ALL_ASSOC && in __sctp_setsockopt_delayed_ack()
2797 sctp_apply_asoc_delayed_ack(params, asoc); in __sctp_setsockopt_delayed_ack()
2803 params->sack_assoc_id = SCTP_FUTURE_ASSOC; in __sctp_setsockopt_delayed_ack()
2805 if (params->sack_assoc_id == SCTP_FUTURE_ASSOC || in __sctp_setsockopt_delayed_ack()
2806 params->sack_assoc_id == SCTP_ALL_ASSOC) { in __sctp_setsockopt_delayed_ack()
2807 if (params->sack_delay) { in __sctp_setsockopt_delayed_ack()
2808 sp->sackdelay = params->sack_delay; in __sctp_setsockopt_delayed_ack()
2812 if (params->sack_freq == 1) { in __sctp_setsockopt_delayed_ack()
2815 } else if (params->sack_freq > 1) { in __sctp_setsockopt_delayed_ack()
2816 sp->sackfreq = params->sack_freq; in __sctp_setsockopt_delayed_ack()
2822 if (params->sack_assoc_id == SCTP_CURRENT_ASSOC || in __sctp_setsockopt_delayed_ack()
2823 params->sack_assoc_id == SCTP_ALL_ASSOC) in __sctp_setsockopt_delayed_ack()
2825 sctp_apply_asoc_delayed_ack(params, asoc); in __sctp_setsockopt_delayed_ack()
2831 struct sctp_sack_info *params, in sctp_setsockopt_delayed_ack() argument
2835 struct sctp_assoc_value *v = (struct sctp_assoc_value *)params; in sctp_setsockopt_delayed_ack()
2852 if (params->sack_delay == 0 && params->sack_freq == 0) in sctp_setsockopt_delayed_ack()
2854 return __sctp_setsockopt_delayed_ack(sk, params); in sctp_setsockopt_delayed_ack()
3252 struct sctp_assoc_value *params, in sctp_setsockopt_maxseg() argument
3267 val = *(int *)params; in sctp_setsockopt_maxseg()
3269 assoc_id = params->assoc_id; in sctp_setsockopt_maxseg()
3270 val = params->assoc_value; in sctp_setsockopt_maxseg()
3399 struct sctp_assoc_value *params, in sctp_setsockopt_context() argument
3408 asoc = sctp_id2assoc(sk, params->assoc_id); in sctp_setsockopt_context()
3409 if (!asoc && params->assoc_id > SCTP_ALL_ASSOC && in sctp_setsockopt_context()
3414 asoc->default_rcv_context = params->assoc_value; in sctp_setsockopt_context()
3420 params->assoc_id = SCTP_FUTURE_ASSOC; in sctp_setsockopt_context()
3422 if (params->assoc_id == SCTP_FUTURE_ASSOC || in sctp_setsockopt_context()
3423 params->assoc_id == SCTP_ALL_ASSOC) in sctp_setsockopt_context()
3424 sp->default_rcv_context = params->assoc_value; in sctp_setsockopt_context()
3426 if (params->assoc_id == SCTP_CURRENT_ASSOC || in sctp_setsockopt_context()
3427 params->assoc_id == SCTP_ALL_ASSOC) in sctp_setsockopt_context()
3429 asoc->default_rcv_context = params->assoc_value; in sctp_setsockopt_context()
3518 struct sctp_assoc_value *params, in sctp_setsockopt_maxburst() argument
3533 assoc_value = *((int *)params); in sctp_setsockopt_maxburst()
3535 assoc_id = params->assoc_id; in sctp_setsockopt_maxburst()
3536 assoc_value = params->assoc_value; in sctp_setsockopt_maxburst()
3961 struct sctp_assoc_value *params, in sctp_setsockopt_pr_supported() argument
3966 if (optlen != sizeof(*params)) in sctp_setsockopt_pr_supported()
3969 asoc = sctp_id2assoc(sk, params->assoc_id); in sctp_setsockopt_pr_supported()
3970 if (!asoc && params->assoc_id != SCTP_FUTURE_ASSOC && in sctp_setsockopt_pr_supported()
3974 sctp_sk(sk)->ep->prsctp_enable = !!params->assoc_value; in sctp_setsockopt_pr_supported()
4032 struct sctp_assoc_value *params, in sctp_setsockopt_reconfig_supported() argument
4038 if (optlen != sizeof(*params)) in sctp_setsockopt_reconfig_supported()
4041 asoc = sctp_id2assoc(sk, params->assoc_id); in sctp_setsockopt_reconfig_supported()
4042 if (!asoc && params->assoc_id != SCTP_FUTURE_ASSOC && in sctp_setsockopt_reconfig_supported()
4046 sctp_sk(sk)->ep->reconf_enable = !!params->assoc_value; in sctp_setsockopt_reconfig_supported()
4055 struct sctp_assoc_value *params, in sctp_setsockopt_enable_strreset() argument
4062 if (optlen != sizeof(*params)) in sctp_setsockopt_enable_strreset()
4065 if (params->assoc_value & (~SCTP_ENABLE_STRRESET_MASK)) in sctp_setsockopt_enable_strreset()
4068 asoc = sctp_id2assoc(sk, params->assoc_id); in sctp_setsockopt_enable_strreset()
4069 if (!asoc && params->assoc_id > SCTP_ALL_ASSOC && in sctp_setsockopt_enable_strreset()
4076 asoc->strreset_enable = params->assoc_value; in sctp_setsockopt_enable_strreset()
4081 params->assoc_id = SCTP_FUTURE_ASSOC; in sctp_setsockopt_enable_strreset()
4083 if (params->assoc_id == SCTP_FUTURE_ASSOC || in sctp_setsockopt_enable_strreset()
4084 params->assoc_id == SCTP_ALL_ASSOC) in sctp_setsockopt_enable_strreset()
4085 ep->strreset_enable = params->assoc_value; in sctp_setsockopt_enable_strreset()
4087 if (params->assoc_id == SCTP_CURRENT_ASSOC || in sctp_setsockopt_enable_strreset()
4088 params->assoc_id == SCTP_ALL_ASSOC) in sctp_setsockopt_enable_strreset()
4090 asoc->strreset_enable = params->assoc_value; in sctp_setsockopt_enable_strreset()
4097 struct sctp_reset_streams *params, in sctp_setsockopt_reset_streams() argument
4102 if (optlen < sizeof(*params)) in sctp_setsockopt_reset_streams()
4106 sizeof(__u16) * sizeof(*params)); in sctp_setsockopt_reset_streams()
4108 if (params->srs_number_streams * sizeof(__u16) > in sctp_setsockopt_reset_streams()
4109 optlen - sizeof(*params)) in sctp_setsockopt_reset_streams()
4112 asoc = sctp_id2assoc(sk, params->srs_assoc_id); in sctp_setsockopt_reset_streams()
4116 return sctp_send_reset_streams(asoc, params); in sctp_setsockopt_reset_streams()
4135 struct sctp_add_streams *params, in sctp_setsockopt_add_streams() argument
4140 if (optlen != sizeof(*params)) in sctp_setsockopt_add_streams()
4143 asoc = sctp_id2assoc(sk, params->sas_assoc_id); in sctp_setsockopt_add_streams()
4147 return sctp_send_add_streams(asoc, params); in sctp_setsockopt_add_streams()
4151 struct sctp_assoc_value *params, in sctp_setsockopt_scheduler() argument
4158 if (optlen < sizeof(*params)) in sctp_setsockopt_scheduler()
4161 if (params->assoc_value > SCTP_SS_MAX) in sctp_setsockopt_scheduler()
4164 asoc = sctp_id2assoc(sk, params->assoc_id); in sctp_setsockopt_scheduler()
4165 if (!asoc && params->assoc_id > SCTP_ALL_ASSOC && in sctp_setsockopt_scheduler()
4170 return sctp_sched_set_sched(asoc, params->assoc_value); in sctp_setsockopt_scheduler()
4173 params->assoc_id = SCTP_FUTURE_ASSOC; in sctp_setsockopt_scheduler()
4175 if (params->assoc_id == SCTP_FUTURE_ASSOC || in sctp_setsockopt_scheduler()
4176 params->assoc_id == SCTP_ALL_ASSOC) in sctp_setsockopt_scheduler()
4177 sp->default_ss = params->assoc_value; in sctp_setsockopt_scheduler()
4179 if (params->assoc_id == SCTP_CURRENT_ASSOC || in sctp_setsockopt_scheduler()
4180 params->assoc_id == SCTP_ALL_ASSOC) { in sctp_setsockopt_scheduler()
4183 params->assoc_value); in sctp_setsockopt_scheduler()
4194 struct sctp_stream_value *params, in sctp_setsockopt_scheduler_value() argument
4200 if (optlen < sizeof(*params)) in sctp_setsockopt_scheduler_value()
4203 asoc = sctp_id2assoc(sk, params->assoc_id); in sctp_setsockopt_scheduler_value()
4204 if (!asoc && params->assoc_id != SCTP_CURRENT_ASSOC && in sctp_setsockopt_scheduler_value()
4209 retval = sctp_sched_set_value(asoc, params->stream_id, in sctp_setsockopt_scheduler_value()
4210 params->stream_value, GFP_KERNEL); in sctp_setsockopt_scheduler_value()
4217 int ret = sctp_sched_set_value(asoc, params->stream_id, in sctp_setsockopt_scheduler_value()
4218 params->stream_value, in sctp_setsockopt_scheduler_value()
4332 struct sctp_assoc_value *params, in sctp_setsockopt_asconf_supported() argument
4339 if (optlen != sizeof(*params)) in sctp_setsockopt_asconf_supported()
4342 asoc = sctp_id2assoc(sk, params->assoc_id); in sctp_setsockopt_asconf_supported()
4343 if (!asoc && params->assoc_id != SCTP_FUTURE_ASSOC && in sctp_setsockopt_asconf_supported()
4348 ep->asconf_enable = !!params->assoc_value; in sctp_setsockopt_asconf_supported()
4362 struct sctp_assoc_value *params, in sctp_setsockopt_auth_supported() argument
4369 if (optlen != sizeof(*params)) in sctp_setsockopt_auth_supported()
4372 asoc = sctp_id2assoc(sk, params->assoc_id); in sctp_setsockopt_auth_supported()
4373 if (!asoc && params->assoc_id != SCTP_FUTURE_ASSOC && in sctp_setsockopt_auth_supported()
4378 if (params->assoc_value) { in sctp_setsockopt_auth_supported()
4388 ep->auth_enable = !!params->assoc_value; in sctp_setsockopt_auth_supported()
4396 struct sctp_assoc_value *params, in sctp_setsockopt_ecn_supported() argument
4402 if (optlen != sizeof(*params)) in sctp_setsockopt_ecn_supported()
4405 asoc = sctp_id2assoc(sk, params->assoc_id); in sctp_setsockopt_ecn_supported()
4406 if (!asoc && params->assoc_id != SCTP_FUTURE_ASSOC && in sctp_setsockopt_ecn_supported()
4410 sctp_sk(sk)->ep->ecn_enable = !!params->assoc_value; in sctp_setsockopt_ecn_supported()
4418 struct sctp_assoc_value *params, in sctp_setsockopt_pf_expose() argument
4424 if (optlen != sizeof(*params)) in sctp_setsockopt_pf_expose()
4427 if (params->assoc_value > SCTP_PF_EXPOSE_MAX) in sctp_setsockopt_pf_expose()
4430 asoc = sctp_id2assoc(sk, params->assoc_id); in sctp_setsockopt_pf_expose()
4431 if (!asoc && params->assoc_id != SCTP_FUTURE_ASSOC && in sctp_setsockopt_pf_expose()
4436 asoc->pf_expose = params->assoc_value; in sctp_setsockopt_pf_expose()
4438 sctp_sk(sk)->pf_expose = params->assoc_value; in sctp_setsockopt_pf_expose()
4496 struct sctp_probeinterval *params, in sctp_setsockopt_probe_interval() argument
4503 if (optlen != sizeof(*params)) in sctp_setsockopt_probe_interval()
4506 probe_interval = params->spi_interval; in sctp_setsockopt_probe_interval()
4513 if (!sctp_is_any(sk, (union sctp_addr *)&params->spi_address)) { in sctp_setsockopt_probe_interval()
4514 t = sctp_addr_id2transport(sk, &params->spi_address, in sctp_setsockopt_probe_interval()
4515 params->spi_assoc_id); in sctp_setsockopt_probe_interval()
4528 asoc = sctp_id2assoc(sk, params->spi_assoc_id); in sctp_setsockopt_probe_interval()
4529 if (!asoc && params->spi_assoc_id != SCTP_FUTURE_ASSOC && in sctp_setsockopt_probe_interval()
5916 struct sctp_paddrparams params; in sctp_getsockopt_peer_addr_params() local
5921 if (len >= sizeof(params)) in sctp_getsockopt_peer_addr_params()
5922 len = sizeof(params); in sctp_getsockopt_peer_addr_params()
5930 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_peer_addr_params()
5936 if (!sctp_is_any(sk, (union sctp_addr *)&params.spp_address)) { in sctp_getsockopt_peer_addr_params()
5937 trans = sctp_addr_id2transport(sk, &params.spp_address, in sctp_getsockopt_peer_addr_params()
5938 params.spp_assoc_id); in sctp_getsockopt_peer_addr_params()
5949 asoc = sctp_id2assoc(sk, params.spp_assoc_id); in sctp_getsockopt_peer_addr_params()
5950 if (!asoc && params.spp_assoc_id != SCTP_FUTURE_ASSOC && in sctp_getsockopt_peer_addr_params()
5958 params.spp_hbinterval = jiffies_to_msecs(trans->hbinterval); in sctp_getsockopt_peer_addr_params()
5959 params.spp_pathmtu = trans->pathmtu; in sctp_getsockopt_peer_addr_params()
5960 params.spp_pathmaxrxt = trans->pathmaxrxt; in sctp_getsockopt_peer_addr_params()
5961 params.spp_sackdelay = jiffies_to_msecs(trans->sackdelay); in sctp_getsockopt_peer_addr_params()
5964 params.spp_flags = trans->param_flags; in sctp_getsockopt_peer_addr_params()
5966 params.spp_ipv6_flowlabel = trans->flowlabel & in sctp_getsockopt_peer_addr_params()
5968 params.spp_flags |= SPP_IPV6_FLOWLABEL; in sctp_getsockopt_peer_addr_params()
5971 params.spp_dscp = trans->dscp & SCTP_DSCP_VAL_MASK; in sctp_getsockopt_peer_addr_params()
5972 params.spp_flags |= SPP_DSCP; in sctp_getsockopt_peer_addr_params()
5976 params.spp_hbinterval = jiffies_to_msecs(asoc->hbinterval); in sctp_getsockopt_peer_addr_params()
5977 params.spp_pathmtu = asoc->pathmtu; in sctp_getsockopt_peer_addr_params()
5978 params.spp_pathmaxrxt = asoc->pathmaxrxt; in sctp_getsockopt_peer_addr_params()
5979 params.spp_sackdelay = jiffies_to_msecs(asoc->sackdelay); in sctp_getsockopt_peer_addr_params()
5982 params.spp_flags = asoc->param_flags; in sctp_getsockopt_peer_addr_params()
5984 params.spp_ipv6_flowlabel = asoc->flowlabel & in sctp_getsockopt_peer_addr_params()
5986 params.spp_flags |= SPP_IPV6_FLOWLABEL; in sctp_getsockopt_peer_addr_params()
5989 params.spp_dscp = asoc->dscp & SCTP_DSCP_VAL_MASK; in sctp_getsockopt_peer_addr_params()
5990 params.spp_flags |= SPP_DSCP; in sctp_getsockopt_peer_addr_params()
5994 params.spp_hbinterval = sp->hbinterval; in sctp_getsockopt_peer_addr_params()
5995 params.spp_pathmtu = sp->pathmtu; in sctp_getsockopt_peer_addr_params()
5996 params.spp_sackdelay = sp->sackdelay; in sctp_getsockopt_peer_addr_params()
5997 params.spp_pathmaxrxt = sp->pathmaxrxt; in sctp_getsockopt_peer_addr_params()
6000 params.spp_flags = sp->param_flags; in sctp_getsockopt_peer_addr_params()
6002 params.spp_ipv6_flowlabel = sp->flowlabel & in sctp_getsockopt_peer_addr_params()
6004 params.spp_flags |= SPP_IPV6_FLOWLABEL; in sctp_getsockopt_peer_addr_params()
6007 params.spp_dscp = sp->dscp & SCTP_DSCP_VAL_MASK; in sctp_getsockopt_peer_addr_params()
6008 params.spp_flags |= SPP_DSCP; in sctp_getsockopt_peer_addr_params()
6012 if (copy_to_user(optval, &params, len)) in sctp_getsockopt_peer_addr_params()
6060 struct sctp_sack_info params; in sctp_getsockopt_delayed_ack() local
6067 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_delayed_ack()
6075 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_delayed_ack()
6084 asoc = sctp_id2assoc(sk, params.sack_assoc_id); in sctp_getsockopt_delayed_ack()
6085 if (!asoc && params.sack_assoc_id != SCTP_FUTURE_ASSOC && in sctp_getsockopt_delayed_ack()
6092 params.sack_delay = jiffies_to_msecs(asoc->sackdelay); in sctp_getsockopt_delayed_ack()
6093 params.sack_freq = asoc->sackfreq; in sctp_getsockopt_delayed_ack()
6096 params.sack_delay = 0; in sctp_getsockopt_delayed_ack()
6097 params.sack_freq = 1; in sctp_getsockopt_delayed_ack()
6102 params.sack_delay = sp->sackdelay; in sctp_getsockopt_delayed_ack()
6103 params.sack_freq = sp->sackfreq; in sctp_getsockopt_delayed_ack()
6105 params.sack_delay = 0; in sctp_getsockopt_delayed_ack()
6106 params.sack_freq = 1; in sctp_getsockopt_delayed_ack()
6110 if (copy_to_user(optval, &params, len)) in sctp_getsockopt_delayed_ack()
6703 struct sctp_assoc_value params; in sctp_getsockopt_context() local
6711 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_context()
6714 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_getsockopt_context()
6715 if (!asoc && params.assoc_id != SCTP_FUTURE_ASSOC && in sctp_getsockopt_context()
6719 params.assoc_value = asoc ? asoc->default_rcv_context in sctp_getsockopt_context()
6724 if (copy_to_user(optval, &params, len)) in sctp_getsockopt_context()
6760 struct sctp_assoc_value params; in sctp_getsockopt_maxseg() local
6769 params.assoc_id = SCTP_FUTURE_ASSOC; in sctp_getsockopt_maxseg()
6772 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_maxseg()
6777 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_getsockopt_maxseg()
6778 if (!asoc && params.assoc_id != SCTP_FUTURE_ASSOC && in sctp_getsockopt_maxseg()
6783 params.assoc_value = asoc->frag_point; in sctp_getsockopt_maxseg()
6785 params.assoc_value = sctp_sk(sk)->user_frag; in sctp_getsockopt_maxseg()
6790 if (copy_to_user(optval, &params.assoc_value, len)) in sctp_getsockopt_maxseg()
6793 if (copy_to_user(optval, &params, len)) in sctp_getsockopt_maxseg()
6855 struct sctp_assoc_value params; in sctp_getsockopt_maxburst() local
6864 params.assoc_id = SCTP_FUTURE_ASSOC; in sctp_getsockopt_maxburst()
6867 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_maxburst()
6872 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_getsockopt_maxburst()
6873 if (!asoc && params.assoc_id != SCTP_FUTURE_ASSOC && in sctp_getsockopt_maxburst()
6877 params.assoc_value = asoc ? asoc->max_burst : sctp_sk(sk)->max_burst; in sctp_getsockopt_maxburst()
6880 if (copy_to_user(optval, &params.assoc_value, len)) in sctp_getsockopt_maxburst()
6883 if (copy_to_user(optval, &params, len)) in sctp_getsockopt_maxburst()
7329 struct sctp_assoc_value params; in sctp_getsockopt_pr_supported() local
7333 if (len < sizeof(params)) { in sctp_getsockopt_pr_supported()
7338 len = sizeof(params); in sctp_getsockopt_pr_supported()
7339 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_pr_supported()
7342 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_getsockopt_pr_supported()
7343 if (!asoc && params.assoc_id != SCTP_FUTURE_ASSOC && in sctp_getsockopt_pr_supported()
7349 params.assoc_value = asoc ? asoc->peer.prsctp_capable in sctp_getsockopt_pr_supported()
7355 if (copy_to_user(optval, &params, len)) in sctp_getsockopt_pr_supported()
7414 struct sctp_prstatus params; in sctp_getsockopt_pr_assocstatus() local
7419 if (len < sizeof(params)) in sctp_getsockopt_pr_assocstatus()
7422 len = sizeof(params); in sctp_getsockopt_pr_assocstatus()
7423 if (copy_from_user(&params, optval, len)) { in sctp_getsockopt_pr_assocstatus()
7428 policy = params.sprstat_policy; in sctp_getsockopt_pr_assocstatus()
7433 asoc = sctp_id2assoc(sk, params.sprstat_assoc_id); in sctp_getsockopt_pr_assocstatus()
7438 params.sprstat_abandoned_unsent = 0; in sctp_getsockopt_pr_assocstatus()
7439 params.sprstat_abandoned_sent = 0; in sctp_getsockopt_pr_assocstatus()
7441 params.sprstat_abandoned_unsent += in sctp_getsockopt_pr_assocstatus()
7443 params.sprstat_abandoned_sent += in sctp_getsockopt_pr_assocstatus()
7447 params.sprstat_abandoned_unsent = in sctp_getsockopt_pr_assocstatus()
7449 params.sprstat_abandoned_sent = in sctp_getsockopt_pr_assocstatus()
7458 if (copy_to_user(optval, &params, len)) { in sctp_getsockopt_pr_assocstatus()
7475 struct sctp_prstatus params; in sctp_getsockopt_pr_streamstatus() local
7479 if (len < sizeof(params)) in sctp_getsockopt_pr_streamstatus()
7482 len = sizeof(params); in sctp_getsockopt_pr_streamstatus()
7483 if (copy_from_user(&params, optval, len)) { in sctp_getsockopt_pr_streamstatus()
7488 policy = params.sprstat_policy; in sctp_getsockopt_pr_streamstatus()
7493 asoc = sctp_id2assoc(sk, params.sprstat_assoc_id); in sctp_getsockopt_pr_streamstatus()
7494 if (!asoc || params.sprstat_sid >= asoc->stream.outcnt) in sctp_getsockopt_pr_streamstatus()
7497 streamoute = SCTP_SO(&asoc->stream, params.sprstat_sid)->ext; in sctp_getsockopt_pr_streamstatus()
7500 params.sprstat_abandoned_unsent = 0; in sctp_getsockopt_pr_streamstatus()
7501 params.sprstat_abandoned_sent = 0; in sctp_getsockopt_pr_streamstatus()
7507 params.sprstat_abandoned_unsent = 0; in sctp_getsockopt_pr_streamstatus()
7508 params.sprstat_abandoned_sent = 0; in sctp_getsockopt_pr_streamstatus()
7510 params.sprstat_abandoned_unsent += in sctp_getsockopt_pr_streamstatus()
7512 params.sprstat_abandoned_sent += in sctp_getsockopt_pr_streamstatus()
7516 params.sprstat_abandoned_unsent = in sctp_getsockopt_pr_streamstatus()
7518 params.sprstat_abandoned_sent = in sctp_getsockopt_pr_streamstatus()
7522 if (put_user(len, optlen) || copy_to_user(optval, &params, len)) { in sctp_getsockopt_pr_streamstatus()
7537 struct sctp_assoc_value params; in sctp_getsockopt_reconfig_supported() local
7541 if (len < sizeof(params)) { in sctp_getsockopt_reconfig_supported()
7546 len = sizeof(params); in sctp_getsockopt_reconfig_supported()
7547 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_reconfig_supported()
7550 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_getsockopt_reconfig_supported()
7551 if (!asoc && params.assoc_id != SCTP_FUTURE_ASSOC && in sctp_getsockopt_reconfig_supported()
7557 params.assoc_value = asoc ? asoc->peer.reconf_capable in sctp_getsockopt_reconfig_supported()
7563 if (copy_to_user(optval, &params, len)) in sctp_getsockopt_reconfig_supported()
7576 struct sctp_assoc_value params; in sctp_getsockopt_enable_strreset() local
7580 if (len < sizeof(params)) { in sctp_getsockopt_enable_strreset()
7585 len = sizeof(params); in sctp_getsockopt_enable_strreset()
7586 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_enable_strreset()
7589 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_getsockopt_enable_strreset()
7590 if (!asoc && params.assoc_id != SCTP_FUTURE_ASSOC && in sctp_getsockopt_enable_strreset()
7596 params.assoc_value = asoc ? asoc->strreset_enable in sctp_getsockopt_enable_strreset()
7602 if (copy_to_user(optval, &params, len)) in sctp_getsockopt_enable_strreset()
7615 struct sctp_assoc_value params; in sctp_getsockopt_scheduler() local
7619 if (len < sizeof(params)) { in sctp_getsockopt_scheduler()
7624 len = sizeof(params); in sctp_getsockopt_scheduler()
7625 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_scheduler()
7628 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_getsockopt_scheduler()
7629 if (!asoc && params.assoc_id != SCTP_FUTURE_ASSOC && in sctp_getsockopt_scheduler()
7635 params.assoc_value = asoc ? sctp_sched_get_sched(asoc) in sctp_getsockopt_scheduler()
7641 if (copy_to_user(optval, &params, len)) in sctp_getsockopt_scheduler()
7654 struct sctp_stream_value params; in sctp_getsockopt_scheduler_value() local
7658 if (len < sizeof(params)) { in sctp_getsockopt_scheduler_value()
7663 len = sizeof(params); in sctp_getsockopt_scheduler_value()
7664 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_scheduler_value()
7667 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_getsockopt_scheduler_value()
7673 retval = sctp_sched_get_value(asoc, params.stream_id, in sctp_getsockopt_scheduler_value()
7674 &params.stream_value); in sctp_getsockopt_scheduler_value()
7683 if (copy_to_user(optval, &params, len)) { in sctp_getsockopt_scheduler_value()
7696 struct sctp_assoc_value params; in sctp_getsockopt_interleaving_supported() local
7700 if (len < sizeof(params)) { in sctp_getsockopt_interleaving_supported()
7705 len = sizeof(params); in sctp_getsockopt_interleaving_supported()
7706 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_interleaving_supported()
7709 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_getsockopt_interleaving_supported()
7710 if (!asoc && params.assoc_id != SCTP_FUTURE_ASSOC && in sctp_getsockopt_interleaving_supported()
7716 params.assoc_value = asoc ? asoc->peer.intl_capable in sctp_getsockopt_interleaving_supported()
7722 if (copy_to_user(optval, &params, len)) in sctp_getsockopt_interleaving_supported()
7790 struct sctp_assoc_value params; in sctp_getsockopt_asconf_supported() local
7794 if (len < sizeof(params)) { in sctp_getsockopt_asconf_supported()
7799 len = sizeof(params); in sctp_getsockopt_asconf_supported()
7800 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_asconf_supported()
7803 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_getsockopt_asconf_supported()
7804 if (!asoc && params.assoc_id != SCTP_FUTURE_ASSOC && in sctp_getsockopt_asconf_supported()
7810 params.assoc_value = asoc ? asoc->peer.asconf_capable in sctp_getsockopt_asconf_supported()
7816 if (copy_to_user(optval, &params, len)) in sctp_getsockopt_asconf_supported()
7829 struct sctp_assoc_value params; in sctp_getsockopt_auth_supported() local
7833 if (len < sizeof(params)) { in sctp_getsockopt_auth_supported()
7838 len = sizeof(params); in sctp_getsockopt_auth_supported()
7839 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_auth_supported()
7842 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_getsockopt_auth_supported()
7843 if (!asoc && params.assoc_id != SCTP_FUTURE_ASSOC && in sctp_getsockopt_auth_supported()
7849 params.assoc_value = asoc ? asoc->peer.auth_capable in sctp_getsockopt_auth_supported()
7855 if (copy_to_user(optval, &params, len)) in sctp_getsockopt_auth_supported()
7868 struct sctp_assoc_value params; in sctp_getsockopt_ecn_supported() local
7872 if (len < sizeof(params)) { in sctp_getsockopt_ecn_supported()
7877 len = sizeof(params); in sctp_getsockopt_ecn_supported()
7878 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_ecn_supported()
7881 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_getsockopt_ecn_supported()
7882 if (!asoc && params.assoc_id != SCTP_FUTURE_ASSOC && in sctp_getsockopt_ecn_supported()
7888 params.assoc_value = asoc ? asoc->peer.ecn_capable in sctp_getsockopt_ecn_supported()
7894 if (copy_to_user(optval, &params, len)) in sctp_getsockopt_ecn_supported()
7907 struct sctp_assoc_value params; in sctp_getsockopt_pf_expose() local
7911 if (len < sizeof(params)) { in sctp_getsockopt_pf_expose()
7916 len = sizeof(params); in sctp_getsockopt_pf_expose()
7917 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_pf_expose()
7920 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_getsockopt_pf_expose()
7921 if (!asoc && params.assoc_id != SCTP_FUTURE_ASSOC && in sctp_getsockopt_pf_expose()
7927 params.assoc_value = asoc ? asoc->pf_expose in sctp_getsockopt_pf_expose()
7933 if (copy_to_user(optval, &params, len)) in sctp_getsockopt_pf_expose()
8005 struct sctp_probeinterval params; in sctp_getsockopt_probe_interval() local
8010 if (len < sizeof(params)) in sctp_getsockopt_probe_interval()
8013 len = sizeof(params); in sctp_getsockopt_probe_interval()
8014 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_probe_interval()
8020 if (!sctp_is_any(sk, (union sctp_addr *)&params.spi_address)) { in sctp_getsockopt_probe_interval()
8021 t = sctp_addr_id2transport(sk, &params.spi_address, in sctp_getsockopt_probe_interval()
8022 params.spi_assoc_id); in sctp_getsockopt_probe_interval()
8036 asoc = sctp_id2assoc(sk, params.spi_assoc_id); in sctp_getsockopt_probe_interval()
8037 if (!asoc && params.spi_assoc_id != SCTP_FUTURE_ASSOC && in sctp_getsockopt_probe_interval()
8051 params.spi_interval = probe_interval; in sctp_getsockopt_probe_interval()
8052 if (copy_to_user(optval, &params, len)) in sctp_getsockopt_probe_interval()