Lines Matching refs:params
2350 static int sctp_apply_peer_addr_params(struct sctp_paddrparams *params, in sctp_apply_peer_addr_params() argument
2360 if (params->spp_flags & SPP_HB_DEMAND && trans) { in sctp_apply_peer_addr_params()
2372 if (params->spp_flags & SPP_HB_ENABLE) { in sctp_apply_peer_addr_params()
2378 if (params->spp_flags & SPP_HB_TIME_IS_ZERO) in sctp_apply_peer_addr_params()
2379 params->spp_hbinterval = 0; in sctp_apply_peer_addr_params()
2381 if (params->spp_hbinterval || in sctp_apply_peer_addr_params()
2382 (params->spp_flags & SPP_HB_TIME_IS_ZERO)) { in sctp_apply_peer_addr_params()
2385 msecs_to_jiffies(params->spp_hbinterval); in sctp_apply_peer_addr_params()
2388 msecs_to_jiffies(params->spp_hbinterval); in sctp_apply_peer_addr_params()
2390 sp->hbinterval = params->spp_hbinterval; in sctp_apply_peer_addr_params()
2413 if ((params->spp_flags & SPP_PMTUD_DISABLE) && params->spp_pathmtu) { in sctp_apply_peer_addr_params()
2415 trans->pathmtu = params->spp_pathmtu; in sctp_apply_peer_addr_params()
2418 asoc->pathmtu = params->spp_pathmtu; in sctp_apply_peer_addr_params()
2419 sctp_frag_point(asoc, params->spp_pathmtu); in sctp_apply_peer_addr_params()
2421 sp->pathmtu = params->spp_pathmtu; in sctp_apply_peer_addr_params()
2428 (params->spp_flags & SPP_PMTUD_ENABLE); in sctp_apply_peer_addr_params()
2448 if ((params->spp_flags & SPP_SACKDELAY_ENABLE) && params->spp_sackdelay) { in sctp_apply_peer_addr_params()
2451 msecs_to_jiffies(params->spp_sackdelay); in sctp_apply_peer_addr_params()
2454 msecs_to_jiffies(params->spp_sackdelay); in sctp_apply_peer_addr_params()
2456 sp->sackdelay = params->spp_sackdelay; in sctp_apply_peer_addr_params()
2479 if (params->spp_pathmaxrxt) { in sctp_apply_peer_addr_params()
2481 trans->pathmaxrxt = params->spp_pathmaxrxt; in sctp_apply_peer_addr_params()
2483 asoc->pathmaxrxt = params->spp_pathmaxrxt; in sctp_apply_peer_addr_params()
2485 sp->pathmaxrxt = params->spp_pathmaxrxt; in sctp_apply_peer_addr_params()
2496 struct sctp_paddrparams params; in sctp_setsockopt_peer_addr_params() local
2506 if (copy_from_user(¶ms, optval, optlen)) in sctp_setsockopt_peer_addr_params()
2510 hb_change = params.spp_flags & SPP_HB; in sctp_setsockopt_peer_addr_params()
2511 pmtud_change = params.spp_flags & SPP_PMTUD; in sctp_setsockopt_peer_addr_params()
2512 sackdelay_change = params.spp_flags & SPP_SACKDELAY; in sctp_setsockopt_peer_addr_params()
2517 params.spp_sackdelay > 500 || in sctp_setsockopt_peer_addr_params()
2518 (params.spp_pathmtu && in sctp_setsockopt_peer_addr_params()
2519 params.spp_pathmtu < SCTP_DEFAULT_MINSEGMENT)) in sctp_setsockopt_peer_addr_params()
2525 if (!sctp_is_any(sk, (union sctp_addr *)¶ms.spp_address)) { in sctp_setsockopt_peer_addr_params()
2526 trans = sctp_addr_id2transport(sk, ¶ms.spp_address, in sctp_setsockopt_peer_addr_params()
2527 params.spp_assoc_id); in sctp_setsockopt_peer_addr_params()
2536 asoc = sctp_id2assoc(sk, params.spp_assoc_id); in sctp_setsockopt_peer_addr_params()
2537 if (!asoc && params.spp_assoc_id && sctp_style(sk, UDP)) in sctp_setsockopt_peer_addr_params()
2543 if (params.spp_flags & SPP_HB_DEMAND && !trans && !asoc) in sctp_setsockopt_peer_addr_params()
2547 error = sctp_apply_peer_addr_params(¶ms, trans, asoc, sp, in sctp_setsockopt_peer_addr_params()
2560 sctp_apply_peer_addr_params(¶ms, trans, asoc, sp, in sctp_setsockopt_peer_addr_params()
2618 struct sctp_sack_info params; in sctp_setsockopt_delayed_ack() local
2624 if (copy_from_user(¶ms, optval, optlen)) in sctp_setsockopt_delayed_ack()
2627 if (params.sack_delay == 0 && params.sack_freq == 0) in sctp_setsockopt_delayed_ack()
2635 if (copy_from_user(¶ms, optval, optlen)) in sctp_setsockopt_delayed_ack()
2638 if (params.sack_delay == 0) in sctp_setsockopt_delayed_ack()
2639 params.sack_freq = 1; in sctp_setsockopt_delayed_ack()
2641 params.sack_freq = 0; in sctp_setsockopt_delayed_ack()
2646 if (params.sack_delay > 500) in sctp_setsockopt_delayed_ack()
2653 asoc = sctp_id2assoc(sk, params.sack_assoc_id); in sctp_setsockopt_delayed_ack()
2654 if (!asoc && params.sack_assoc_id && sctp_style(sk, UDP)) in sctp_setsockopt_delayed_ack()
2657 if (params.sack_delay) { in sctp_setsockopt_delayed_ack()
2660 msecs_to_jiffies(params.sack_delay); in sctp_setsockopt_delayed_ack()
2664 sp->sackdelay = params.sack_delay; in sctp_setsockopt_delayed_ack()
2670 if (params.sack_freq == 1) { in sctp_setsockopt_delayed_ack()
2678 } else if (params.sack_freq > 1) { in sctp_setsockopt_delayed_ack()
2680 asoc->sackfreq = params.sack_freq; in sctp_setsockopt_delayed_ack()
2684 sp->sackfreq = params.sack_freq; in sctp_setsockopt_delayed_ack()
2694 if (params.sack_delay) { in sctp_setsockopt_delayed_ack()
2696 msecs_to_jiffies(params.sack_delay); in sctp_setsockopt_delayed_ack()
2700 if (params.sack_freq == 1) { in sctp_setsockopt_delayed_ack()
2703 } else if (params.sack_freq > 1) { in sctp_setsockopt_delayed_ack()
2704 trans->sackfreq = params.sack_freq; in sctp_setsockopt_delayed_ack()
3075 struct sctp_assoc_value params; in sctp_setsockopt_maxseg() local
3088 params.assoc_id = 0; in sctp_setsockopt_maxseg()
3090 if (copy_from_user(¶ms, optval, optlen)) in sctp_setsockopt_maxseg()
3092 val = params.assoc_value; in sctp_setsockopt_maxseg()
3099 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_setsockopt_maxseg()
3100 if (!asoc && params.assoc_id && sctp_style(sk, UDP)) in sctp_setsockopt_maxseg()
3218 struct sctp_assoc_value params; in sctp_setsockopt_context() local
3224 if (copy_from_user(¶ms, optval, optlen)) in sctp_setsockopt_context()
3229 if (params.assoc_id != 0) { in sctp_setsockopt_context()
3230 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_setsockopt_context()
3233 asoc->default_rcv_context = params.assoc_value; in sctp_setsockopt_context()
3235 sp->default_rcv_context = params.assoc_value; in sctp_setsockopt_context()
3335 struct sctp_assoc_value params; in sctp_setsockopt_maxburst() local
3350 if (copy_from_user(¶ms, optval, optlen)) in sctp_setsockopt_maxburst()
3352 val = params.assoc_value; in sctp_setsockopt_maxburst()
3353 assoc_id = params.assoc_id; in sctp_setsockopt_maxburst()
4598 struct sctp_paddrparams params; in sctp_getsockopt_peer_addr_params() local
4606 if (copy_from_user(¶ms, optval, len)) in sctp_getsockopt_peer_addr_params()
4612 if (!sctp_is_any(sk, (union sctp_addr *)¶ms.spp_address)) { in sctp_getsockopt_peer_addr_params()
4613 trans = sctp_addr_id2transport(sk, ¶ms.spp_address, in sctp_getsockopt_peer_addr_params()
4614 params.spp_assoc_id); in sctp_getsockopt_peer_addr_params()
4625 asoc = sctp_id2assoc(sk, params.spp_assoc_id); in sctp_getsockopt_peer_addr_params()
4626 if (!asoc && params.spp_assoc_id && sctp_style(sk, UDP)) { in sctp_getsockopt_peer_addr_params()
4633 params.spp_hbinterval = jiffies_to_msecs(trans->hbinterval); in sctp_getsockopt_peer_addr_params()
4634 params.spp_pathmtu = trans->pathmtu; in sctp_getsockopt_peer_addr_params()
4635 params.spp_pathmaxrxt = trans->pathmaxrxt; in sctp_getsockopt_peer_addr_params()
4636 params.spp_sackdelay = jiffies_to_msecs(trans->sackdelay); in sctp_getsockopt_peer_addr_params()
4639 params.spp_flags = trans->param_flags; in sctp_getsockopt_peer_addr_params()
4642 params.spp_hbinterval = jiffies_to_msecs(asoc->hbinterval); in sctp_getsockopt_peer_addr_params()
4643 params.spp_pathmtu = asoc->pathmtu; in sctp_getsockopt_peer_addr_params()
4644 params.spp_pathmaxrxt = asoc->pathmaxrxt; in sctp_getsockopt_peer_addr_params()
4645 params.spp_sackdelay = jiffies_to_msecs(asoc->sackdelay); in sctp_getsockopt_peer_addr_params()
4648 params.spp_flags = asoc->param_flags; in sctp_getsockopt_peer_addr_params()
4651 params.spp_hbinterval = sp->hbinterval; in sctp_getsockopt_peer_addr_params()
4652 params.spp_pathmtu = sp->pathmtu; in sctp_getsockopt_peer_addr_params()
4653 params.spp_sackdelay = sp->sackdelay; in sctp_getsockopt_peer_addr_params()
4654 params.spp_pathmaxrxt = sp->pathmaxrxt; in sctp_getsockopt_peer_addr_params()
4657 params.spp_flags = sp->param_flags; in sctp_getsockopt_peer_addr_params()
4660 if (copy_to_user(optval, ¶ms, len)) in sctp_getsockopt_peer_addr_params()
4708 struct sctp_sack_info params; in sctp_getsockopt_delayed_ack() local
4715 if (copy_from_user(¶ms, optval, len)) in sctp_getsockopt_delayed_ack()
4723 if (copy_from_user(¶ms, optval, len)) in sctp_getsockopt_delayed_ack()
4732 asoc = sctp_id2assoc(sk, params.sack_assoc_id); in sctp_getsockopt_delayed_ack()
4733 if (!asoc && params.sack_assoc_id && sctp_style(sk, UDP)) in sctp_getsockopt_delayed_ack()
4739 params.sack_delay = jiffies_to_msecs( in sctp_getsockopt_delayed_ack()
4741 params.sack_freq = asoc->sackfreq; in sctp_getsockopt_delayed_ack()
4744 params.sack_delay = 0; in sctp_getsockopt_delayed_ack()
4745 params.sack_freq = 1; in sctp_getsockopt_delayed_ack()
4750 params.sack_delay = sp->sackdelay; in sctp_getsockopt_delayed_ack()
4751 params.sack_freq = sp->sackfreq; in sctp_getsockopt_delayed_ack()
4753 params.sack_delay = 0; in sctp_getsockopt_delayed_ack()
4754 params.sack_freq = 1; in sctp_getsockopt_delayed_ack()
4758 if (copy_to_user(optval, ¶ms, len)) in sctp_getsockopt_delayed_ack()
5342 struct sctp_assoc_value params; in sctp_getsockopt_context() local
5351 if (copy_from_user(¶ms, optval, len)) in sctp_getsockopt_context()
5356 if (params.assoc_id != 0) { in sctp_getsockopt_context()
5357 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_getsockopt_context()
5360 params.assoc_value = asoc->default_rcv_context; in sctp_getsockopt_context()
5362 params.assoc_value = sp->default_rcv_context; in sctp_getsockopt_context()
5367 if (copy_to_user(optval, ¶ms, len)) in sctp_getsockopt_context()
5403 struct sctp_assoc_value params; in sctp_getsockopt_maxseg() local
5412 params.assoc_id = 0; in sctp_getsockopt_maxseg()
5415 if (copy_from_user(¶ms, optval, sizeof(params))) in sctp_getsockopt_maxseg()
5420 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_getsockopt_maxseg()
5421 if (!asoc && params.assoc_id && sctp_style(sk, UDP)) in sctp_getsockopt_maxseg()
5425 params.assoc_value = asoc->frag_point; in sctp_getsockopt_maxseg()
5427 params.assoc_value = sctp_sk(sk)->user_frag; in sctp_getsockopt_maxseg()
5432 if (copy_to_user(optval, ¶ms.assoc_value, len)) in sctp_getsockopt_maxseg()
5435 if (copy_to_user(optval, ¶ms, len)) in sctp_getsockopt_maxseg()
5497 struct sctp_assoc_value params; in sctp_getsockopt_maxburst() local
5507 params.assoc_id = 0; in sctp_getsockopt_maxburst()
5510 if (copy_from_user(¶ms, optval, len)) in sctp_getsockopt_maxburst()
5517 if (params.assoc_id != 0) { in sctp_getsockopt_maxburst()
5518 asoc = sctp_id2assoc(sk, params.assoc_id); in sctp_getsockopt_maxburst()
5521 params.assoc_value = asoc->max_burst; in sctp_getsockopt_maxburst()
5523 params.assoc_value = sp->max_burst; in sctp_getsockopt_maxburst()
5526 if (copy_to_user(optval, ¶ms.assoc_value, len)) in sctp_getsockopt_maxburst()
5529 if (copy_to_user(optval, ¶ms, len)) in sctp_getsockopt_maxburst()