Lines Matching refs:fn
637 struct list_head *fn = dreq ? &dreq->dreq_featneg : &dp->dccps_featneg; in dccp_feat_insert_opts() local
643 list_for_each_entry_safe_reverse(pos, next, fn, node) { in dccp_feat_insert_opts()
700 static int __feat_register_nn(struct list_head *fn, u8 feat, in __feat_register_nn() argument
713 return dccp_feat_push_change(fn, feat, 1, mandatory, &fval); in __feat_register_nn()
725 static int __feat_register_sp(struct list_head *fn, u8 feat, u8 is_local, in __feat_register_sp() argument
741 if (dccp_feat_push_change(fn, feat, is_local, mandatory, &fval)) { in __feat_register_sp()
808 struct list_head *fn = &dccp_sk(sk)->dccps_featneg; in dccp_feat_signal_nn_change() local
822 entry = dccp_feat_list_lookup(fn, feat, 1); in dccp_feat_signal_nn_change()
831 return dccp_feat_push_change(fn, feat, 1, 0, &fval); in dccp_feat_signal_nn_change()
947 static int dccp_feat_propagate_ccid(struct list_head *fn, u8 id, bool is_local) in dccp_feat_propagate_ccid() argument
954 rc = __feat_register_sp(fn, table[i].dependent_feat, in dccp_feat_propagate_ccid()
959 rc = __feat_register_nn(fn, table[i].dependent_feat, in dccp_feat_propagate_ccid()
975 struct list_head *fn = &dp->dccps_featneg; in dccp_feat_finalise_settings() local
988 list_for_each_entry(entry, fn, node) in dccp_feat_finalise_settings()
992 if (ccids[i] > 0 && dccp_feat_propagate_ccid(fn, ccids[i], i)) in dccp_feat_finalise_settings()
994 dccp_feat_print_fnlist(fn); in dccp_feat_finalise_settings()
1005 struct list_head *fn = &dreq->dreq_featneg; in dccp_feat_server_ccid_dependencies() local
1010 entry = dccp_feat_list_lookup(fn, DCCPF_CCID, is_local); in dccp_feat_server_ccid_dependencies()
1017 if (dccp_feat_propagate_ccid(fn, ccid, is_local)) in dccp_feat_server_ccid_dependencies()
1102 static u8 dccp_feat_change_recv(struct list_head *fn, u8 is_mandatory, u8 opt, in dccp_feat_change_recv() argument
1128 return dccp_feat_push_confirm(fn, feat, local, &fval); in dccp_feat_change_recv()
1134 entry = dccp_feat_list_lookup(fn, feat, local); in dccp_feat_change_recv()
1164 return dccp_feat_push_confirm(fn, feat, local, &fval); in dccp_feat_change_recv()
1196 return dccp_push_empty_confirm(fn, feat, local); in dccp_feat_change_recv()
1213 static u8 dccp_feat_confirm_recv(struct list_head *fn, u8 is_mandatory, u8 opt, in dccp_feat_confirm_recv() argument
1218 struct dccp_feat_entry *entry = dccp_feat_list_lookup(fn, feat, local); in dccp_feat_confirm_recv()
1313 struct list_head *fn = &dccp_sk(sk)->dccps_featneg; in dccp_feat_handle_nn_established() local
1344 if (dccp_feat_push_confirm(fn, feat, local, &fval) || in dccp_feat_handle_nn_established()
1352 entry = dccp_feat_list_lookup(fn, feat, local); in dccp_feat_handle_nn_established()
1380 return dccp_push_empty_confirm(fn, feat, local); in dccp_feat_handle_nn_established()
1403 struct list_head *fn = dreq ? &dreq->dreq_featneg : &dp->dccps_featneg; in dccp_feat_parse_options() local
1416 return dccp_feat_change_recv(fn, mandatory, opt, feat, in dccp_feat_parse_options()
1420 return dccp_feat_confirm_recv(fn, mandatory, opt, feat, in dccp_feat_parse_options()
1447 struct list_head *fn = &dccp_sk(sk)->dccps_featneg; in dccp_feat_init() local
1456 rc = __feat_register_nn(fn, DCCPF_SEQUENCE_WINDOW, 0, in dccp_feat_init()
1464 rc = __feat_register_sp(fn, DCCPF_SHORT_SEQNOS, true, true, &off, 1); in dccp_feat_init()
1469 rc = __feat_register_sp(fn, DCCPF_ECN_INCAPABLE, true, true, &on, 1); in dccp_feat_init()
1490 rc = __feat_register_sp(fn, DCCPF_CCID, true, false, tx.val, tx.len); in dccp_feat_init()
1494 rc = __feat_register_sp(fn, DCCPF_CCID, false, false, rx.val, rx.len); in dccp_feat_init()