Lines Matching refs:skiplist
76 TAILQ_HEAD(skiplist, pf_skip_step) sb_skipsteps[PF_SKIP_COUNT];
225 void remove_from_skipsteps(struct skiplist *, struct superblock *,
661 struct pf_skip_step *skiplist; in reorder_rules() local
672 TAILQ_FOREACH(skiplist, &block->sb_skipsteps[i], in reorder_rules()
674 if (skip_compare(i, skiplist, por) == 0) in reorder_rules()
677 if (skiplist == NULL) { in reorder_rules()
678 if ((skiplist = calloc(1, sizeof(*skiplist))) == in reorder_rules()
681 TAILQ_INIT(&skiplist->ps_rules); in reorder_rules()
683 skiplist, ps_entry); in reorder_rules()
685 skip_append(block, i, skiplist, por); in reorder_rules()
699 skiplist = TAILQ_FIRST(&block->sb_skipsteps[i]); in reorder_rules()
700 if (skiplist->ps_count == rule_count) { in reorder_rules()
703 skiplist->ps_count = 0; in reorder_rules()
704 } else if (skiplist->ps_count == 1) { in reorder_rules()
705 skiplist->ps_count = 0; in reorder_rules()
709 skiplist->ps_count); in reorder_rules()
710 if (skiplist->ps_count > largest) in reorder_rules()
711 largest = skiplist->ps_count; in reorder_rules()
735 skiplist = TAILQ_FIRST(&block->sb_skipsteps[i]); in reorder_rules()
736 if (skiplist->ps_count > largest) { in reorder_rules()
737 largest = skiplist->ps_count; in reorder_rules()
754 skiplist = TAILQ_FIRST(&block->sb_skipsteps[ in reorder_rules()
762 skiplist, ps_entry); in reorder_rules()
770 if (skiplist->ps_count > 2) { in reorder_rules()
781 depth, skiplist->ps_count, in reorder_rules()
782 TAILQ_FIRST(&skiplist->ps_rules)-> in reorder_rules()
788 while ((por = TAILQ_FIRST(&skiplist->ps_rules))) { in reorder_rules()
790 TAILQ_REMOVE(&skiplist->ps_rules, por, in reorder_rules()
797 largest_list], block, por, skiplist); in reorder_rules()
799 free(skiplist); in reorder_rules()
808 while ((skiplist = TAILQ_FIRST(&block->sb_skipsteps[i]))) { in reorder_rules()
809 TAILQ_REMOVE(&block->sb_skipsteps[i], skiplist, in reorder_rules()
811 free(skiplist); in reorder_rules()
981 skip_compare(int skipnum, struct pf_skip_step *skiplist, in skip_compare() argument
988 b = &TAILQ_FIRST(&skiplist->ps_rules)->por_rule; in skip_compare()
999 struct pf_skip_step *skiplist, struct pf_opt_rule *por) in skip_append() argument
1003 skiplist->ps_count++; in skip_append()
1004 TAILQ_INSERT_TAIL(&skiplist->ps_rules, por, por_skip_entry[skipnum]); in skip_append()
1007 while ((prev = TAILQ_PREV(skiplist, skiplist, ps_entry)) && in skip_append()
1008 prev->ps_count < skiplist->ps_count) { in skip_append()
1010 skiplist, ps_entry); in skip_append()
1011 TAILQ_INSERT_BEFORE(prev, skiplist, ps_entry); in skip_append()
1020 remove_from_skipsteps(struct skiplist *head, struct superblock *block, in remove_from_skipsteps()