Lines Matching refs:params

2363 static int sctp_apply_peer_addr_params(struct sctp_paddrparams *params,  in sctp_apply_peer_addr_params()  argument
2373 if (params->spp_flags & SPP_HB_DEMAND && trans) { in sctp_apply_peer_addr_params()
2385 if (params->spp_flags & SPP_HB_ENABLE) { in sctp_apply_peer_addr_params()
2391 if (params->spp_flags & SPP_HB_TIME_IS_ZERO) in sctp_apply_peer_addr_params()
2392 params->spp_hbinterval = 0; in sctp_apply_peer_addr_params()
2394 if (params->spp_hbinterval || in sctp_apply_peer_addr_params()
2395 (params->spp_flags & SPP_HB_TIME_IS_ZERO)) { in sctp_apply_peer_addr_params()
2398 msecs_to_jiffies(params->spp_hbinterval); in sctp_apply_peer_addr_params()
2401 msecs_to_jiffies(params->spp_hbinterval); in sctp_apply_peer_addr_params()
2403 sp->hbinterval = params->spp_hbinterval; in sctp_apply_peer_addr_params()
2426 if ((params->spp_flags & SPP_PMTUD_DISABLE) && params->spp_pathmtu) { in sctp_apply_peer_addr_params()
2428 trans->pathmtu = params->spp_pathmtu; in sctp_apply_peer_addr_params()
2431 asoc->pathmtu = params->spp_pathmtu; in sctp_apply_peer_addr_params()
2432 sctp_frag_point(asoc, params->spp_pathmtu); in sctp_apply_peer_addr_params()
2434 sp->pathmtu = params->spp_pathmtu; in sctp_apply_peer_addr_params()
2441 (params->spp_flags & SPP_PMTUD_ENABLE); in sctp_apply_peer_addr_params()
2461 if ((params->spp_flags & SPP_SACKDELAY_ENABLE) && params->spp_sackdelay) { in sctp_apply_peer_addr_params()
2464 msecs_to_jiffies(params->spp_sackdelay); in sctp_apply_peer_addr_params()
2467 msecs_to_jiffies(params->spp_sackdelay); in sctp_apply_peer_addr_params()
2469 sp->sackdelay = params->spp_sackdelay; in sctp_apply_peer_addr_params()
2492 if (params->spp_pathmaxrxt) { in sctp_apply_peer_addr_params()
2494 trans->pathmaxrxt = params->spp_pathmaxrxt; in sctp_apply_peer_addr_params()
2496 asoc->pathmaxrxt = params->spp_pathmaxrxt; in sctp_apply_peer_addr_params()
2498 sp->pathmaxrxt = params->spp_pathmaxrxt; in sctp_apply_peer_addr_params()
2509 struct sctp_paddrparams params; in sctp_setsockopt_peer_addr_params() local
2519 if (copy_from_user(&params, optval, optlen)) in sctp_setsockopt_peer_addr_params()
2523 hb_change = params.spp_flags & SPP_HB; in sctp_setsockopt_peer_addr_params()
2524 pmtud_change = params.spp_flags & SPP_PMTUD; in sctp_setsockopt_peer_addr_params()
2525 sackdelay_change = params.spp_flags & SPP_SACKDELAY; in sctp_setsockopt_peer_addr_params()
2530 params.spp_sackdelay > 500 || in sctp_setsockopt_peer_addr_params()
2531 (params.spp_pathmtu && in sctp_setsockopt_peer_addr_params()
2532 params.spp_pathmtu < SCTP_DEFAULT_MINSEGMENT)) in sctp_setsockopt_peer_addr_params()
2538 if (!sctp_is_any(sk, (union sctp_addr *)&params.spp_address)) { in sctp_setsockopt_peer_addr_params()
2539 trans = sctp_addr_id2transport(sk, &params.spp_address, in sctp_setsockopt_peer_addr_params()
2540 params.spp_assoc_id); in sctp_setsockopt_peer_addr_params()
2549 asoc = sctp_id2assoc(sk, params.spp_assoc_id); in sctp_setsockopt_peer_addr_params()
2550 if (!asoc && params.spp_assoc_id && sctp_style(sk, UDP)) in sctp_setsockopt_peer_addr_params()
2556 if (params.spp_flags & SPP_HB_DEMAND && !trans && !asoc) in sctp_setsockopt_peer_addr_params()
2560 error = sctp_apply_peer_addr_params(&params, trans, asoc, sp, in sctp_setsockopt_peer_addr_params()
2573 sctp_apply_peer_addr_params(&params, trans, asoc, sp, in sctp_setsockopt_peer_addr_params()
2631 struct sctp_sack_info params; in sctp_setsockopt_delayed_ack() local
2637 if (copy_from_user(&params, optval, optlen)) in sctp_setsockopt_delayed_ack()
2640 if (params.sack_delay == 0 && params.sack_freq == 0) in sctp_setsockopt_delayed_ack()
2648 if (copy_from_user(&params, optval, optlen)) in sctp_setsockopt_delayed_ack()
2651 if (params.sack_delay == 0) in sctp_setsockopt_delayed_ack()
2652 params.sack_freq = 1; in sctp_setsockopt_delayed_ack()
2654 params.sack_freq = 0; in sctp_setsockopt_delayed_ack()
2659 if (params.sack_delay > 500) in sctp_setsockopt_delayed_ack()
2666 asoc = sctp_id2assoc(sk, params.sack_assoc_id); in sctp_setsockopt_delayed_ack()
2667 if (!asoc && params.sack_assoc_id && sctp_style(sk, UDP)) in sctp_setsockopt_delayed_ack()
2670 if (params.sack_delay) { in sctp_setsockopt_delayed_ack()
2673 msecs_to_jiffies(params.sack_delay); in sctp_setsockopt_delayed_ack()
2677 sp->sackdelay = params.sack_delay; in sctp_setsockopt_delayed_ack()
2683 if (params.sack_freq == 1) { in sctp_setsockopt_delayed_ack()
2691 } else if (params.sack_freq > 1) { in sctp_setsockopt_delayed_ack()
2693 asoc->sackfreq = params.sack_freq; in sctp_setsockopt_delayed_ack()
2697 sp->sackfreq = params.sack_freq; in sctp_setsockopt_delayed_ack()
2707 if (params.sack_delay) { in sctp_setsockopt_delayed_ack()
2709 msecs_to_jiffies(params.sack_delay); in sctp_setsockopt_delayed_ack()
2713 if (params.sack_freq == 1) { in sctp_setsockopt_delayed_ack()
2716 } else if (params.sack_freq > 1) { in sctp_setsockopt_delayed_ack()
2717 trans->sackfreq = params.sack_freq; in sctp_setsockopt_delayed_ack()
3088 struct sctp_assoc_value params; in sctp_setsockopt_maxseg() local
3101 params.assoc_id = 0; in sctp_setsockopt_maxseg()
3103 if (copy_from_user(&params, optval, optlen)) in sctp_setsockopt_maxseg()
3105 val = params.assoc_value; in sctp_setsockopt_maxseg()
3112 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_setsockopt_maxseg()
3113 if (!asoc && params.assoc_id && sctp_style(sk, UDP)) in sctp_setsockopt_maxseg()
3231 struct sctp_assoc_value params; in sctp_setsockopt_context() local
3237 if (copy_from_user(&params, optval, optlen)) in sctp_setsockopt_context()
3242 if (params.assoc_id != 0) { in sctp_setsockopt_context()
3243 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_setsockopt_context()
3246 asoc->default_rcv_context = params.assoc_value; in sctp_setsockopt_context()
3248 sp->default_rcv_context = params.assoc_value; in sctp_setsockopt_context()
3348 struct sctp_assoc_value params; in sctp_setsockopt_maxburst() local
3363 if (copy_from_user(&params, optval, optlen)) in sctp_setsockopt_maxburst()
3365 val = params.assoc_value; in sctp_setsockopt_maxburst()
3366 assoc_id = params.assoc_id; in sctp_setsockopt_maxburst()
4611 struct sctp_paddrparams params; in sctp_getsockopt_peer_addr_params() local
4619 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_peer_addr_params()
4625 if (!sctp_is_any(sk, (union sctp_addr *)&params.spp_address)) { in sctp_getsockopt_peer_addr_params()
4626 trans = sctp_addr_id2transport(sk, &params.spp_address, in sctp_getsockopt_peer_addr_params()
4627 params.spp_assoc_id); in sctp_getsockopt_peer_addr_params()
4638 asoc = sctp_id2assoc(sk, params.spp_assoc_id); in sctp_getsockopt_peer_addr_params()
4639 if (!asoc && params.spp_assoc_id && sctp_style(sk, UDP)) { in sctp_getsockopt_peer_addr_params()
4646 params.spp_hbinterval = jiffies_to_msecs(trans->hbinterval); in sctp_getsockopt_peer_addr_params()
4647 params.spp_pathmtu = trans->pathmtu; in sctp_getsockopt_peer_addr_params()
4648 params.spp_pathmaxrxt = trans->pathmaxrxt; in sctp_getsockopt_peer_addr_params()
4649 params.spp_sackdelay = jiffies_to_msecs(trans->sackdelay); in sctp_getsockopt_peer_addr_params()
4652 params.spp_flags = trans->param_flags; in sctp_getsockopt_peer_addr_params()
4655 params.spp_hbinterval = jiffies_to_msecs(asoc->hbinterval); in sctp_getsockopt_peer_addr_params()
4656 params.spp_pathmtu = asoc->pathmtu; in sctp_getsockopt_peer_addr_params()
4657 params.spp_pathmaxrxt = asoc->pathmaxrxt; in sctp_getsockopt_peer_addr_params()
4658 params.spp_sackdelay = jiffies_to_msecs(asoc->sackdelay); in sctp_getsockopt_peer_addr_params()
4661 params.spp_flags = asoc->param_flags; in sctp_getsockopt_peer_addr_params()
4664 params.spp_hbinterval = sp->hbinterval; in sctp_getsockopt_peer_addr_params()
4665 params.spp_pathmtu = sp->pathmtu; in sctp_getsockopt_peer_addr_params()
4666 params.spp_sackdelay = sp->sackdelay; in sctp_getsockopt_peer_addr_params()
4667 params.spp_pathmaxrxt = sp->pathmaxrxt; in sctp_getsockopt_peer_addr_params()
4670 params.spp_flags = sp->param_flags; in sctp_getsockopt_peer_addr_params()
4673 if (copy_to_user(optval, &params, len)) in sctp_getsockopt_peer_addr_params()
4721 struct sctp_sack_info params; in sctp_getsockopt_delayed_ack() local
4728 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_delayed_ack()
4736 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_delayed_ack()
4745 asoc = sctp_id2assoc(sk, params.sack_assoc_id); in sctp_getsockopt_delayed_ack()
4746 if (!asoc && params.sack_assoc_id && sctp_style(sk, UDP)) in sctp_getsockopt_delayed_ack()
4752 params.sack_delay = jiffies_to_msecs( in sctp_getsockopt_delayed_ack()
4754 params.sack_freq = asoc->sackfreq; in sctp_getsockopt_delayed_ack()
4757 params.sack_delay = 0; in sctp_getsockopt_delayed_ack()
4758 params.sack_freq = 1; in sctp_getsockopt_delayed_ack()
4763 params.sack_delay = sp->sackdelay; in sctp_getsockopt_delayed_ack()
4764 params.sack_freq = sp->sackfreq; in sctp_getsockopt_delayed_ack()
4766 params.sack_delay = 0; in sctp_getsockopt_delayed_ack()
4767 params.sack_freq = 1; in sctp_getsockopt_delayed_ack()
4771 if (copy_to_user(optval, &params, len)) in sctp_getsockopt_delayed_ack()
5355 struct sctp_assoc_value params; in sctp_getsockopt_context() local
5364 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_context()
5369 if (params.assoc_id != 0) { in sctp_getsockopt_context()
5370 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_getsockopt_context()
5373 params.assoc_value = asoc->default_rcv_context; in sctp_getsockopt_context()
5375 params.assoc_value = sp->default_rcv_context; in sctp_getsockopt_context()
5380 if (copy_to_user(optval, &params, len)) in sctp_getsockopt_context()
5416 struct sctp_assoc_value params; in sctp_getsockopt_maxseg() local
5425 params.assoc_id = 0; in sctp_getsockopt_maxseg()
5428 if (copy_from_user(&params, optval, sizeof(params))) in sctp_getsockopt_maxseg()
5433 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_getsockopt_maxseg()
5434 if (!asoc && params.assoc_id && sctp_style(sk, UDP)) in sctp_getsockopt_maxseg()
5438 params.assoc_value = asoc->frag_point; in sctp_getsockopt_maxseg()
5440 params.assoc_value = sctp_sk(sk)->user_frag; in sctp_getsockopt_maxseg()
5445 if (copy_to_user(optval, &params.assoc_value, len)) in sctp_getsockopt_maxseg()
5448 if (copy_to_user(optval, &params, len)) in sctp_getsockopt_maxseg()
5510 struct sctp_assoc_value params; in sctp_getsockopt_maxburst() local
5520 params.assoc_id = 0; in sctp_getsockopt_maxburst()
5523 if (copy_from_user(&params, optval, len)) in sctp_getsockopt_maxburst()
5530 if (params.assoc_id != 0) { in sctp_getsockopt_maxburst()
5531 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_getsockopt_maxburst()
5534 params.assoc_value = asoc->max_burst; in sctp_getsockopt_maxburst()
5536 params.assoc_value = sp->max_burst; in sctp_getsockopt_maxburst()
5539 if (copy_to_user(optval, &params.assoc_value, len)) in sctp_getsockopt_maxburst()
5542 if (copy_to_user(optval, &params, len)) in sctp_getsockopt_maxburst()