Lines Matching refs:fval
270 dccp_feat_val fval = { .sp.vec = list, .sp.len = len }; in dccp_feat_printvals() local
273 fval.nn = dccp_decode_value_var(list, len); in dccp_feat_printvals()
274 dccp_feat_printval(feat_num, &fval); in dccp_feat_printvals()
304 const bool is_local, dccp_feat_val const *fval) in __dccp_feat_activate() argument
314 if (fval == NULL) { in __dccp_feat_activate()
317 if (fval->sp.vec == NULL) { in __dccp_feat_activate()
326 val = fval->sp.vec[0]; in __dccp_feat_activate()
329 val = fval->nn; in __dccp_feat_activate()
337 fval ? "" : "default ", (unsigned long long)val); in __dccp_feat_activate()
352 dccp_feat_val const *fval) in dccp_feat_activate() argument
354 return __dccp_feat_activate(sk, dccp_feat_index(feat_num), local, fval); in dccp_feat_activate()
365 static int dccp_feat_clone_sp_val(dccp_feat_val *fval, u8 const *val, u8 len) in dccp_feat_clone_sp_val() argument
367 fval->sp.len = len; in dccp_feat_clone_sp_val()
368 if (fval->sp.len > 0) { in dccp_feat_clone_sp_val()
369 fval->sp.vec = kmemdup(val, len, gfp_any()); in dccp_feat_clone_sp_val()
370 if (fval->sp.vec == NULL) { in dccp_feat_clone_sp_val()
371 fval->sp.len = 0; in dccp_feat_clone_sp_val()
480 u8 mandatory, dccp_feat_val *fval) in dccp_feat_push_change() argument
492 new->val = *fval; in dccp_feat_push_change()
508 dccp_feat_val *fval) in dccp_feat_push_confirm() argument
519 new->empty_confirm = (fval == NULL); in dccp_feat_push_confirm()
522 new->val = *fval; in dccp_feat_push_confirm()
698 dccp_feat_val fval = { .nn = nn_val }; in __feat_register_nn() local
708 return dccp_feat_push_change(fn, feat, 1, mandatory, &fval); in __feat_register_nn()
723 dccp_feat_val fval; in __feat_register_sp() local
733 if (dccp_feat_clone_sp_val(&fval, sp_val, sp_len)) in __feat_register_sp()
736 if (dccp_feat_push_change(fn, feat, is_local, mandatory, &fval)) { in __feat_register_sp()
737 kfree(fval.sp.vec); in __feat_register_sp()
804 dccp_feat_val fval = { .nn = nn_val }; in dccp_feat_signal_nn_change() local
826 return dccp_feat_push_change(fn, feat, 1, 0, &fval); in dccp_feat_signal_nn_change()
1103 dccp_feat_val fval; in dccp_feat_change_recv() local
1115 if (local || len > sizeof(fval.nn)) in dccp_feat_change_recv()
1119 fval.nn = dccp_decode_value_var(val, len); in dccp_feat_change_recv()
1120 if (!dccp_feat_is_valid_nn_val(feat, fval.nn)) in dccp_feat_change_recv()
1123 return dccp_feat_push_confirm(fn, feat, local, &fval); in dccp_feat_change_recv()
1141 if (dccp_feat_clone_sp_val(&fval, val, 1)) in dccp_feat_change_recv()
1147 fval.sp.vec[0] = defval; in dccp_feat_change_recv()
1148 } else if (!dccp_feat_is_valid_sp_val(feat, fval.sp.vec[0])) { in dccp_feat_change_recv()
1149 kfree(fval.sp.vec); in dccp_feat_change_recv()
1154 if (feat == DCCPF_CCID && !ccid_support_check(fval.sp.vec, 1)) { in dccp_feat_change_recv()
1155 kfree(fval.sp.vec); in dccp_feat_change_recv()
1159 return dccp_feat_push_confirm(fn, feat, local, &fval); in dccp_feat_change_recv()
1312 dccp_feat_val fval; in dccp_feat_handle_nn_established() local
1331 if (len == 0 || len > sizeof(fval.nn)) in dccp_feat_handle_nn_established()
1335 fval.nn = dccp_decode_value_var(val, len); in dccp_feat_handle_nn_established()
1336 if (!dccp_feat_is_valid_nn_val(feat, fval.nn)) in dccp_feat_handle_nn_established()
1339 if (dccp_feat_push_confirm(fn, feat, local, &fval) || in dccp_feat_handle_nn_established()
1340 dccp_feat_activate(sk, feat, local, &fval)) in dccp_feat_handle_nn_established()
1351 fval.nn = dccp_decode_value_var(val, len); in dccp_feat_handle_nn_established()
1358 if (fval.nn != entry->val.nn) in dccp_feat_handle_nn_established()
1362 dccp_feat_activate(sk, feat, local, &fval); in dccp_feat_handle_nn_established()