Lines Matching refs:param
64 union sctp_params param,
1102 struct sctp_paramhdr *param)
1106 sizeof(*param);
1114 sizeof(error) + sizeof(*param));
1116 sctp_addto_param(retval, sizeof(*param), param);
1651 * This INCLUDES the param header needed to put the cookie in the INIT ACK.
1969 struct sctp_paramhdr *param,
1980 *errp = sctp_make_violation_paramlen(asoc, chunk, param);
1990 union sctp_params param,
1994 __u16 len = ntohs(param.p->length);
2005 param.v, len, 0);
2013 union sctp_params param)
2015 __u16 num_ext = ntohs(param.p->length) - sizeof(struct sctp_paramhdr);
2021 switch (param.ext->chunks[i]) {
2047 union sctp_params param)
2049 __u16 num_ext = ntohs(param.p->length) - sizeof(struct sctp_paramhdr);
2053 switch (param.ext->chunks[i]) {
2111 union sctp_params param,
2117 switch (param.p->type & SCTP_PARAM_ACTION_MASK) {
2144 ntohs(param.p->length)))
2145 sctp_addto_chunk(*errp, ntohs(param.p->length),
2146 param.v);
2165 union sctp_params param,
2180 switch (param.p->type) {
2193 if (!sctp_verify_ext_param(net, ep, param))
2201 if (ntohs(param.p->length) < sizeof(struct sctp_addip_param) +
2203 sctp_process_inv_paramlength(asoc, param.p,
2210 /* This param has been Deprecated, send ABORT. */
2211 sctp_process_hn_param(asoc, param, chunk, err_chunk);
2229 if (SCTP_AUTH_RANDOM_LENGTH != ntohs(param.p->length) -
2231 sctp_process_inv_paramlength(asoc, param.p,
2246 if (260 < ntohs(param.p->length)) {
2247 sctp_process_inv_paramlength(asoc, param.p,
2257 hmacs = (struct sctp_hmac_algo_param *)param.p;
2258 n_elt = (ntohs(param.p->length) -
2273 sctp_process_inv_paramlength(asoc, param.p, chunk,
2280 pr_debug("%s: unrecognized param:%d for chunk:%d\n",
2281 __func__, ntohs(param.p->type), cid);
2283 retval = sctp_process_unk_param(asoc, param, chunk, err_chunk);
2295 union sctp_params param;
2309 sctp_walk_params(param, peer_init) {
2310 if (param.p->type == SCTP_PARAM_STATE_COOKIE)
2316 * The current param.p would point at the bad one.
2321 if (param.v != (void *)chunk->chunk_end)
2322 return sctp_process_inv_paramlength(asoc, param.p, chunk, errp);
2324 /* The only missing mandatory param possible today is
2332 sctp_walk_params(param, peer_init) {
2333 result = sctp_verify_param(net, ep, asoc, param, cid,
2361 union sctp_params param;
2384 sctp_walk_params(param, peer_init) {
2386 (param.p->type == SCTP_PARAM_IPV4_ADDRESS ||
2387 param.p->type == SCTP_PARAM_IPV6_ADDRESS)) {
2388 af = sctp_get_af_specific(param_type2af(param.p->type));
2389 if (!af->from_addr_param(&addr, param.addr,
2396 if (!sctp_process_param(asoc, param, peer_addr, gfp))
2529 /* Update asoc with the option described in param.
2534 * param is the variable length parameter to use for update.
2541 union sctp_params param,
2560 switch (param.p->type) {
2571 af = sctp_get_af_specific(param_type2af(param.p->type));
2572 if (!af->from_addr_param(&addr, param.addr, htons(asoc->peer.port), 0))
2584 stale = ntohl(param.life->lifespan_increment);
2608 sat = ntohs(param.p->length) - sizeof(struct sctp_paramhdr);
2613 switch (param.sat->types[i]) {
2631 ntohs(param.p->length) - sizeof(struct sctp_paramhdr);
2633 asoc->peer.cookie = kmemdup(param.cookie->body, asoc->peer.cookie_len, gfp);
2656 asoc->peer.adaptation_ind = ntohl(param.aind->adaptation_ind);
2663 addr_param = param.v + sizeof(struct sctp_addip_param);
2684 sctp_process_ext_param(asoc, param);
2701 asoc->peer.peer_random = kmemdup(param.p,
2702 ntohs(param.p->length), gfp);
2715 asoc->peer.peer_hmacs = kmemdup(param.p,
2716 ntohs(param.p->length), gfp);
2723 sctp_auth_asoc_set_default_hmac(asoc, param.hmac_algo);
2731 asoc->peer.peer_chunks = kmemdup(param.p,
2732 ntohs(param.p->length), gfp);
2743 pr_debug("%s: ignoring param:%d for association:%p.\n",
2744 __func__, ntohs(param.p->type), asoc);
2859 struct sctp_addip_param param;
2860 int paramlen = sizeof(param);
2903 param.param_hdr.type = flags;
2904 param.param_hdr.length = htons(paramlen + addr_param_len);
2905 param.crr_id = htonl(i);
2907 sctp_addto_chunk(retval, paramlen, ¶m);
2916 param.param_hdr.type = SCTP_PARAM_DEL_IP;
2917 param.param_hdr.length = htons(paramlen + addr_param_len);
2918 param.crr_id = htonl(i);
2920 sctp_addto_chunk(retval, paramlen, ¶m);
2945 struct sctp_addip_param param;
2947 int len = sizeof(param);
2960 param.param_hdr.type = SCTP_PARAM_SET_PRIMARY;
2961 param.param_hdr.length = htons(len);
2962 param.crr_id = 0;
2964 sctp_addto_chunk(retval, sizeof(param), ¶m);
3202 union sctp_params param;
3205 sctp_walk_params(param, addip) {
3206 size_t length = ntohs(param.p->length);
3208 *errp = param.p;
3209 switch (param.p->type) {
3215 /* ensure there is only one addr param and it's in the
3218 if (param.v != (addip + 1))
3225 if (param.v != (addip + 1))
3235 length = ntohs(param.addip->param_hdr.length);
3256 if (param.v != chunk->chunk_end)
3274 union sctp_params param;
3305 sctp_walk_params(param, addip) {
3307 if (param.p->type == SCTP_PARAM_IPV4_ADDRESS ||
3308 param.p->type == SCTP_PARAM_IPV6_ADDRESS)
3312 param.addip);
3323 sctp_add_asconf_response(asconf_ack, param.addip->crr_id,
3324 err_code, param.addip);
3876 union sctp_params param;
3881 sctp_walk_params(param, hdr) {
3882 __u16 length = ntohs(param.p->length);
3884 *errp = param.p;
3887 switch (param.p->type) {
3925 last = param.p->type;