Lines Matching refs:param
79 union sctp_params param,
1102 struct sctp_paramhdr *param) in sctp_make_violation_paramlen() argument
1106 sizeof(*param); in sctp_make_violation_paramlen()
1114 sizeof(error) + sizeof(*param)); in sctp_make_violation_paramlen()
1116 sctp_addto_param(retval, sizeof(*param), param); in sctp_make_violation_paramlen()
1931 struct sctp_paramhdr *param, in sctp_process_inv_paramlength() argument
1942 *errp = sctp_make_violation_paramlen(asoc, chunk, param); in sctp_process_inv_paramlength()
1952 union sctp_params param, in sctp_process_hn_param() argument
1956 __u16 len = ntohs(param.p->length); in sctp_process_hn_param()
1970 sctp_addto_chunk(*errp, len, param.v); in sctp_process_hn_param()
1977 static int sctp_verify_ext_param(struct net *net, union sctp_params param) in sctp_verify_ext_param() argument
1979 __u16 num_ext = ntohs(param.p->length) - sizeof(struct sctp_paramhdr); in sctp_verify_ext_param()
1985 switch (param.ext->chunks[i]) { in sctp_verify_ext_param()
2011 union sctp_params param) in sctp_process_ext_param() argument
2013 __u16 num_ext = ntohs(param.p->length) - sizeof(struct sctp_paramhdr); in sctp_process_ext_param()
2018 switch (param.ext->chunks[i]) { in sctp_process_ext_param()
2073 union sctp_params param, in sctp_process_unk_param() argument
2079 switch (param.p->type & SCTP_PARAM_ACTION_MASK) { in sctp_process_unk_param()
2097 SCTP_PAD4(ntohs(param.p->length)))) in sctp_process_unk_param()
2099 SCTP_PAD4(ntohs(param.p->length)), in sctp_process_unk_param()
2100 param.v); in sctp_process_unk_param()
2127 union sctp_params param, in sctp_verify_param() argument
2142 switch (param.p->type) { in sctp_verify_param()
2155 if (!sctp_verify_ext_param(net, param)) in sctp_verify_param()
2166 sctp_process_hn_param(asoc, param, chunk, err_chunk); in sctp_verify_param()
2185 ntohs(param.p->length) - sizeof(struct sctp_paramhdr)) { in sctp_verify_param()
2186 sctp_process_inv_paramlength(asoc, param.p, in sctp_verify_param()
2201 if (260 < ntohs(param.p->length)) { in sctp_verify_param()
2202 sctp_process_inv_paramlength(asoc, param.p, in sctp_verify_param()
2212 hmacs = (struct sctp_hmac_algo_param *)param.p; in sctp_verify_param()
2213 n_elt = (ntohs(param.p->length) - in sctp_verify_param()
2228 sctp_process_inv_paramlength(asoc, param.p, chunk, in sctp_verify_param()
2236 __func__, ntohs(param.p->type), cid); in sctp_verify_param()
2238 retval = sctp_process_unk_param(asoc, param, chunk, err_chunk); in sctp_verify_param()
2250 union sctp_params param; in sctp_verify_init() local
2264 sctp_walk_params(param, peer_init, init_hdr.params) { in sctp_verify_init()
2265 if (param.p->type == SCTP_PARAM_STATE_COOKIE) in sctp_verify_init()
2276 if (param.v != (void *)chunk->chunk_end) in sctp_verify_init()
2277 return sctp_process_inv_paramlength(asoc, param.p, chunk, errp); in sctp_verify_init()
2287 sctp_walk_params(param, peer_init, init_hdr.params) { in sctp_verify_init()
2288 result = sctp_verify_param(net, ep, asoc, param, cid, in sctp_verify_init()
2317 union sctp_params param; in sctp_process_init() local
2339 sctp_walk_params(param, peer_init, init_hdr.params) { in sctp_process_init()
2340 if (!src_match && (param.p->type == SCTP_PARAM_IPV4_ADDRESS || in sctp_process_init()
2341 param.p->type == SCTP_PARAM_IPV6_ADDRESS)) { in sctp_process_init()
2342 af = sctp_get_af_specific(param_type2af(param.p->type)); in sctp_process_init()
2343 af->from_addr_param(&addr, param.addr, in sctp_process_init()
2349 if (!sctp_process_param(asoc, param, peer_addr, gfp)) in sctp_process_init()
2491 union sctp_params param, in sctp_process_param() argument
2510 switch (param.p->type) { in sctp_process_param()
2521 af = sctp_get_af_specific(param_type2af(param.p->type)); in sctp_process_param()
2522 af->from_addr_param(&addr, param.addr, htons(asoc->peer.port), 0); in sctp_process_param()
2533 stale = ntohl(param.life->lifespan_increment); in sctp_process_param()
2561 sat = ntohs(param.p->length) - sizeof(struct sctp_paramhdr); in sctp_process_param()
2566 switch (param.sat->types[i]) { in sctp_process_param()
2588 ntohs(param.p->length) - sizeof(struct sctp_paramhdr); in sctp_process_param()
2591 asoc->peer.cookie = kmemdup(param.cookie->body, asoc->peer.cookie_len, gfp); in sctp_process_param()
2609 asoc->peer.adaptation_ind = ntohl(param.aind->adaptation_ind); in sctp_process_param()
2616 addr_param = param.v + sizeof(struct sctp_addip_param); in sctp_process_param()
2639 sctp_process_ext_param(asoc, param); in sctp_process_param()
2657 asoc->peer.peer_random = kmemdup(param.p, in sctp_process_param()
2658 ntohs(param.p->length), gfp); in sctp_process_param()
2672 asoc->peer.peer_hmacs = kmemdup(param.p, in sctp_process_param()
2673 ntohs(param.p->length), gfp); in sctp_process_param()
2680 sctp_auth_asoc_set_default_hmac(asoc, param.hmac_algo); in sctp_process_param()
2689 asoc->peer.peer_chunks = kmemdup(param.p, in sctp_process_param()
2690 ntohs(param.p->length), gfp); in sctp_process_param()
2702 __func__, ntohs(param.p->type), asoc); in sctp_process_param()
2817 struct sctp_addip_param param; in sctp_make_asconf_update_ip() local
2818 int paramlen = sizeof(param); in sctp_make_asconf_update_ip()
2861 param.param_hdr.type = flags; in sctp_make_asconf_update_ip()
2862 param.param_hdr.length = htons(paramlen + addr_param_len); in sctp_make_asconf_update_ip()
2863 param.crr_id = htonl(i); in sctp_make_asconf_update_ip()
2865 sctp_addto_chunk(retval, paramlen, ¶m); in sctp_make_asconf_update_ip()
2874 param.param_hdr.type = SCTP_PARAM_DEL_IP; in sctp_make_asconf_update_ip()
2875 param.param_hdr.length = htons(paramlen + addr_param_len); in sctp_make_asconf_update_ip()
2876 param.crr_id = htonl(i); in sctp_make_asconf_update_ip()
2878 sctp_addto_chunk(retval, paramlen, ¶m); in sctp_make_asconf_update_ip()
2903 struct sctp_addip_param param; in sctp_make_asconf_set_prim() local
2905 int len = sizeof(param); in sctp_make_asconf_set_prim()
2918 param.param_hdr.type = SCTP_PARAM_SET_PRIMARY; in sctp_make_asconf_set_prim()
2919 param.param_hdr.length = htons(len); in sctp_make_asconf_set_prim()
2920 param.crr_id = 0; in sctp_make_asconf_set_prim()
2922 sctp_addto_chunk(retval, sizeof(param), ¶m); in sctp_make_asconf_set_prim()
3147 union sctp_params param; in sctp_verify_asconf() local
3150 sctp_walk_params(param, addip, addip_hdr.params) { in sctp_verify_asconf()
3151 size_t length = ntohs(param.p->length); in sctp_verify_asconf()
3153 *errp = param.p; in sctp_verify_asconf()
3154 switch (param.p->type) { in sctp_verify_asconf()
3163 if (param.v != addip->addip_hdr.params) in sctp_verify_asconf()
3170 if (param.v != addip->addip_hdr.params) in sctp_verify_asconf()
3180 length = ntohs(param.addip->param_hdr.length); in sctp_verify_asconf()
3201 if (param.v != chunk->chunk_end) in sctp_verify_asconf()
3219 union sctp_params param; in sctp_process_asconf() local
3250 sctp_walk_params(param, addip, addip_hdr.params) { in sctp_process_asconf()
3252 if (param.p->type == SCTP_PARAM_IPV4_ADDRESS || in sctp_process_asconf()
3253 param.p->type == SCTP_PARAM_IPV6_ADDRESS) in sctp_process_asconf()
3257 param.addip); in sctp_process_asconf()
3268 sctp_add_asconf_response(asconf_ack, param.addip->crr_id, in sctp_process_asconf()
3269 err_code, param.addip); in sctp_process_asconf()
3796 union sctp_params param; in sctp_verify_reconf() local
3801 sctp_walk_params(param, hdr, params) { in sctp_verify_reconf()
3802 __u16 length = ntohs(param.p->length); in sctp_verify_reconf()
3804 *errp = param.p; in sctp_verify_reconf()
3807 switch (param.p->type) { in sctp_verify_reconf()
3845 last = param.p->type; in sctp_verify_reconf()