Lines Matching refs:fval
275 dccp_feat_val fval = { .sp.vec = list, .sp.len = len }; in dccp_feat_printvals() local
278 fval.nn = dccp_decode_value_var(list, len); in dccp_feat_printvals()
279 dccp_feat_printval(feat_num, &fval); in dccp_feat_printvals()
309 const bool is_local, dccp_feat_val const *fval) in __dccp_feat_activate() argument
319 if (fval == NULL) { in __dccp_feat_activate()
322 if (fval->sp.vec == NULL) { in __dccp_feat_activate()
331 val = fval->sp.vec[0]; in __dccp_feat_activate()
334 val = fval->nn; in __dccp_feat_activate()
342 fval ? "" : "default ", (unsigned long long)val); in __dccp_feat_activate()
357 dccp_feat_val const *fval) in dccp_feat_activate() argument
359 return __dccp_feat_activate(sk, dccp_feat_index(feat_num), local, fval); in dccp_feat_activate()
370 static int dccp_feat_clone_sp_val(dccp_feat_val *fval, u8 const *val, u8 len) in dccp_feat_clone_sp_val() argument
372 fval->sp.len = len; in dccp_feat_clone_sp_val()
373 if (fval->sp.len > 0) { in dccp_feat_clone_sp_val()
374 fval->sp.vec = kmemdup(val, len, gfp_any()); in dccp_feat_clone_sp_val()
375 if (fval->sp.vec == NULL) { in dccp_feat_clone_sp_val()
376 fval->sp.len = 0; in dccp_feat_clone_sp_val()
485 u8 mandatory, dccp_feat_val *fval) in dccp_feat_push_change() argument
497 new->val = *fval; in dccp_feat_push_change()
513 dccp_feat_val *fval) in dccp_feat_push_confirm() argument
524 new->empty_confirm = (fval == NULL); in dccp_feat_push_confirm()
527 new->val = *fval; in dccp_feat_push_confirm()
703 dccp_feat_val fval = { .nn = nn_val }; in __feat_register_nn() local
713 return dccp_feat_push_change(fn, feat, 1, mandatory, &fval); in __feat_register_nn()
728 dccp_feat_val fval; in __feat_register_sp() local
738 if (dccp_feat_clone_sp_val(&fval, sp_val, sp_len)) in __feat_register_sp()
741 return dccp_feat_push_change(fn, feat, is_local, mandatory, &fval); 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()