Lines Matching refs:param

64 			      union sctp_params param,
1106 struct sctp_paramhdr *param)
1110 sizeof(*param);
1118 sizeof(error) + sizeof(*param));
1120 sctp_addto_param(retval, sizeof(*param), param);
1606 * This INCLUDES the param header needed to put the cookie in the INIT ACK.
1924 struct sctp_paramhdr *param,
1935 *errp = sctp_make_violation_paramlen(asoc, chunk, param);
1945 union sctp_params param,
1949 __u16 len = ntohs(param.p->length);
1960 param.v, len, 0);
1968 union sctp_params param)
1970 __u16 num_ext = ntohs(param.p->length) - sizeof(struct sctp_paramhdr);
1976 switch (param.ext->chunks[i]) {
2002 union sctp_params param)
2004 __u16 num_ext = ntohs(param.p->length) - sizeof(struct sctp_paramhdr);
2008 switch (param.ext->chunks[i]) {
2066 union sctp_params param,
2072 switch (param.p->type & SCTP_PARAM_ACTION_MASK) {
2099 ntohs(param.p->length)))
2100 sctp_addto_chunk(*errp, ntohs(param.p->length),
2101 param.v);
2120 union sctp_params param,
2135 switch (param.p->type) {
2148 if (!sctp_verify_ext_param(net, ep, param))
2156 if (ntohs(param.p->length) < sizeof(struct sctp_addip_param) +
2158 sctp_process_inv_paramlength(asoc, param.p,
2165 /* Tell the peer, we won't support this param. */
2166 sctp_process_hn_param(asoc, param, chunk, err_chunk);
2184 if (SCTP_AUTH_RANDOM_LENGTH != ntohs(param.p->length) -
2186 sctp_process_inv_paramlength(asoc, param.p,
2201 if (260 < ntohs(param.p->length)) {
2202 sctp_process_inv_paramlength(asoc, param.p,
2212 hmacs = (struct sctp_hmac_algo_param *)param.p;
2213 n_elt = (ntohs(param.p->length) -
2228 sctp_process_inv_paramlength(asoc, param.p, chunk,
2235 pr_debug("%s: unrecognized param:%d for chunk:%d\n",
2236 __func__, ntohs(param.p->type), cid);
2238 retval = sctp_process_unk_param(asoc, param, chunk, err_chunk);
2250 union sctp_params param;
2264 sctp_walk_params(param, peer_init, init_hdr.params) {
2265 if (param.p->type == SCTP_PARAM_STATE_COOKIE)
2271 * The current param.p would point at the bad one.
2276 if (param.v != (void *)chunk->chunk_end)
2277 return sctp_process_inv_paramlength(asoc, param.p, chunk, errp);
2279 /* The only missing mandatory param possible today is
2287 sctp_walk_params(param, peer_init, init_hdr.params) {
2288 result = sctp_verify_param(net, ep, asoc, param, cid,
2316 union sctp_params param;
2338 sctp_walk_params(param, peer_init, init_hdr.params) {
2340 (param.p->type == SCTP_PARAM_IPV4_ADDRESS ||
2341 param.p->type == SCTP_PARAM_IPV6_ADDRESS)) {
2342 af = sctp_get_af_specific(param_type2af(param.p->type));
2343 if (!af->from_addr_param(&addr, param.addr,
2350 if (!sctp_process_param(asoc, param, peer_addr, gfp))
2483 /* Update asoc with the option described in param.
2488 * param is the variable length parameter to use for update.
2495 union sctp_params param,
2514 switch (param.p->type) {
2525 af = sctp_get_af_specific(param_type2af(param.p->type));
2526 if (!af->from_addr_param(&addr, param.addr, htons(asoc->peer.port), 0))
2538 stale = ntohl(param.life->lifespan_increment);
2566 sat = ntohs(param.p->length) - sizeof(struct sctp_paramhdr);
2571 switch (param.sat->types[i]) {
2593 ntohs(param.p->length) - sizeof(struct sctp_paramhdr);
2595 asoc->peer.cookie = kmemdup(param.cookie->body, asoc->peer.cookie_len, gfp);
2618 asoc->peer.adaptation_ind = ntohl(param.aind->adaptation_ind);
2625 addr_param = param.v + sizeof(struct sctp_addip_param);
2646 sctp_process_ext_param(asoc, param);
2663 asoc->peer.peer_random = kmemdup(param.p,
2664 ntohs(param.p->length), gfp);
2677 asoc->peer.peer_hmacs = kmemdup(param.p,
2678 ntohs(param.p->length), gfp);
2685 sctp_auth_asoc_set_default_hmac(asoc, param.hmac_algo);
2693 asoc->peer.peer_chunks = kmemdup(param.p,
2694 ntohs(param.p->length), gfp);
2705 pr_debug("%s: ignoring param:%d for association:%p.\n",
2706 __func__, ntohs(param.p->type), asoc);
2821 struct sctp_addip_param param;
2822 int paramlen = sizeof(param);
2865 param.param_hdr.type = flags;
2866 param.param_hdr.length = htons(paramlen + addr_param_len);
2867 param.crr_id = htonl(i);
2869 sctp_addto_chunk(retval, paramlen, &param);
2878 param.param_hdr.type = SCTP_PARAM_DEL_IP;
2879 param.param_hdr.length = htons(paramlen + addr_param_len);
2880 param.crr_id = htonl(i);
2882 sctp_addto_chunk(retval, paramlen, &param);
2907 struct sctp_addip_param param;
2909 int len = sizeof(param);
2922 param.param_hdr.type = SCTP_PARAM_SET_PRIMARY;
2923 param.param_hdr.length = htons(len);
2924 param.crr_id = 0;
2926 sctp_addto_chunk(retval, sizeof(param), &param);
3164 union sctp_params param;
3167 sctp_walk_params(param, addip, addip_hdr.params) {
3168 size_t length = ntohs(param.p->length);
3170 *errp = param.p;
3171 switch (param.p->type) {
3177 /* ensure there is only one addr param and it's in the
3180 if (param.v != addip->addip_hdr.params)
3187 if (param.v != addip->addip_hdr.params)
3197 length = ntohs(param.addip->param_hdr.length);
3218 if (param.v != chunk->chunk_end)
3236 union sctp_params param;
3267 sctp_walk_params(param, addip, addip_hdr.params) {
3269 if (param.p->type == SCTP_PARAM_IPV4_ADDRESS ||
3270 param.p->type == SCTP_PARAM_IPV6_ADDRESS)
3274 param.addip);
3285 sctp_add_asconf_response(asconf_ack, param.addip->crr_id,
3286 err_code, param.addip);
3838 union sctp_params param;
3843 sctp_walk_params(param, hdr, params) {
3844 __u16 length = ntohs(param.p->length);
3846 *errp = param.p;
3849 switch (param.p->type) {
3887 last = param.p->type;