Lines Matching refs:fn

636 	struct list_head *fn = dreq ? &dreq->dreq_featneg : &dp->dccps_featneg;
642 list_for_each_entry_safe_reverse(pos, next, fn, node) {
692 * @fn: feature-negotiation list to register with
699 static int __feat_register_nn(struct list_head *fn, u8 feat,
712 return dccp_feat_push_change(fn, feat, 1, mandatory, &fval);
717 * @fn: feature-negotiation list to register with
724 static int __feat_register_sp(struct list_head *fn, u8 feat, u8 is_local,
740 if (dccp_feat_push_change(fn, feat, is_local, mandatory, &fval)) {
807 struct list_head *fn = &dccp_sk(sk)->dccps_featneg;
821 entry = dccp_feat_list_lookup(fn, feat, 1);
830 return dccp_feat_push_change(fn, feat, 1, 0, &fval);
940 * @fn: feature-negotiation list to update
946 static int dccp_feat_propagate_ccid(struct list_head *fn, u8 id, bool is_local)
953 rc = __feat_register_sp(fn, table[i].dependent_feat,
958 rc = __feat_register_nn(fn, table[i].dependent_feat,
974 struct list_head *fn = &dp->dccps_featneg;
987 list_for_each_entry(entry, fn, node)
991 if (ccids[i] > 0 && dccp_feat_propagate_ccid(fn, ccids[i], i))
993 dccp_feat_print_fnlist(fn);
1006 struct list_head *fn = &dreq->dreq_featneg;
1011 entry = dccp_feat_list_lookup(fn, DCCPF_CCID, is_local);
1018 if (dccp_feat_propagate_ccid(fn, ccid, is_local))
1099 * @fn: feature-negotiation list to update
1107 static u8 dccp_feat_change_recv(struct list_head *fn, u8 is_mandatory, u8 opt,
1133 return dccp_feat_push_confirm(fn, feat, local, &fval);
1139 entry = dccp_feat_list_lookup(fn, feat, local);
1169 return dccp_feat_push_confirm(fn, feat, local, &fval);
1201 return dccp_push_empty_confirm(fn, feat, local);
1210 * @fn: feature-negotiation list to update
1218 static u8 dccp_feat_confirm_recv(struct list_head *fn, u8 is_mandatory, u8 opt,
1223 struct dccp_feat_entry *entry = dccp_feat_list_lookup(fn, feat, local);
1318 struct list_head *fn = &dccp_sk(sk)->dccps_featneg;
1349 if (dccp_feat_push_confirm(fn, feat, local, &fval) ||
1357 entry = dccp_feat_list_lookup(fn, feat, local);
1385 return dccp_push_empty_confirm(fn, feat, local);
1408 struct list_head *fn = dreq ? &dreq->dreq_featneg : &dp->dccps_featneg;
1422 return dccp_feat_change_recv(fn, mandatory, opt, feat,
1426 return dccp_feat_confirm_recv(fn, mandatory, opt, feat,
1455 struct list_head *fn = &dccp_sk(sk)->dccps_featneg;
1464 rc = __feat_register_nn(fn, DCCPF_SEQUENCE_WINDOW, 0,
1472 rc = __feat_register_sp(fn, DCCPF_SHORT_SEQNOS, true, true, &off, 1);
1477 rc = __feat_register_sp(fn, DCCPF_ECN_INCAPABLE, true, true, &on, 1);
1498 rc = __feat_register_sp(fn, DCCPF_CCID, true, false, tx.val, tx.len);
1502 rc = __feat_register_sp(fn, DCCPF_CCID, false, false, rx.val, rx.len);