Lines Matching refs:ruleset
635 struct pf_ruleset *ruleset; in pf_get_pool() local
639 ruleset = pf_find_ruleset(anchor); in pf_get_pool()
640 if (ruleset == NULL) { in pf_get_pool()
649 ruleset->rules[rs_num].active.ticket) { in pf_get_pool()
653 rule = TAILQ_LAST(ruleset->rules[rs_num].active.ptr, in pf_get_pool()
656 rule = TAILQ_FIRST(ruleset->rules[rs_num].active.ptr); in pf_get_pool()
660 ruleset->rules[rs_num].inactive.ticket) { in pf_get_pool()
664 rule = TAILQ_LAST(ruleset->rules[rs_num].inactive.ptr, in pf_get_pool()
667 rule = TAILQ_FIRST(ruleset->rules[rs_num].inactive.ptr); in pf_get_pool()
1728 struct pf_ruleset *ruleset = &pf_main_ruleset; in pfioctl() local
1732 ruleset->rules[PF_RULESET_FILTER].active.ptr, entries) { in pfioctl()
2418 pf_delete_rule_from_ruleset(struct pf_ruleset *ruleset, int rs_num, in pf_delete_rule_from_ruleset() argument
2426 pf_rm_rule(ruleset->rules[rs_num].active.ptr, rule); in pf_delete_rule_from_ruleset()
2427 if (ruleset->rules[rs_num].active.rcount-- == 0) { in pf_delete_rule_from_ruleset()
2430 r = TAILQ_FIRST(ruleset->rules[rs_num].active.ptr); in pf_delete_rule_from_ruleset()
2440 pf_ruleset_cleanup(struct pf_ruleset *ruleset, int rs) in pf_ruleset_cleanup() argument
2442 pf_calc_skip_steps(ruleset->rules[rs].active.ptr); in pf_ruleset_cleanup()
2443 ruleset->rules[rs].active.ticket = in pf_ruleset_cleanup()
2444 ++ruleset->rules[rs].inactive.ticket; in pf_ruleset_cleanup()
2454 struct pf_ruleset *ruleset; in pf_delete_rule_by_ticket() local
2461 if ((ruleset = pf_find_ruleset_with_owner(pr->anchor, in pf_delete_rule_by_ticket()
2467 rule = TAILQ_FIRST(ruleset->rules[i].active.ptr); in pf_delete_rule_by_ticket()
2483 if (rule->anchor && (ruleset != &pf_main_ruleset) && in pf_delete_rule_by_ticket()
2484 ((strcmp(ruleset->anchor->owner, "")) == 0) && in pf_delete_rule_by_ticket()
2485 ((ruleset->rules[i].active.rcount - 1) == 0)) { in pf_delete_rule_by_ticket()
2488 struct pf_ruleset *delete_ruleset = ruleset; in pf_delete_rule_by_ticket()
2490 #define parent_ruleset ruleset->anchor->parent->ruleset in pf_delete_rule_by_ticket()
2491 if (ruleset->anchor->parent == NULL) { in pf_delete_rule_by_ticket()
2492 ruleset = &pf_main_ruleset; in pf_delete_rule_by_ticket()
2494 ruleset = &parent_ruleset; in pf_delete_rule_by_ticket()
2497 rule = TAILQ_FIRST(ruleset->rules[i].active.ptr); in pf_delete_rule_by_ticket()
2539 pf_delete_rule_from_ruleset(ruleset, i, in pf_delete_rule_by_ticket()
2541 pf_ruleset_cleanup(ruleset, i); in pf_delete_rule_by_ticket()
2554 struct pf_ruleset *ruleset; in pf_delete_rule_by_owner() local
2560 ruleset = &pf_main_ruleset; in pf_delete_rule_by_owner()
2574 if (rule->anchor->ruleset.rules[rs].active.rcount > 0) { in pf_delete_rule_by_owner()
2576 pf_ruleset_cleanup(ruleset, rs); in pf_delete_rule_by_owner()
2580 ruleset = in pf_delete_rule_by_owner()
2581 &rule->anchor->ruleset; in pf_delete_rule_by_owner()
2582 rule = TAILQ_FIRST(ruleset->rules[rs].active.ptr); in pf_delete_rule_by_owner()
2589 pf_delete_rule_from_ruleset(ruleset, rs, rule); in pf_delete_rule_by_owner()
2602 pf_delete_rule_from_ruleset(ruleset, in pf_delete_rule_by_owner()
2610 pf_ruleset_cleanup(ruleset, rs); in pf_delete_rule_by_owner()
2613 if (ruleset != &pf_main_ruleset) { in pf_delete_rule_by_owner()
2614 pf_deleterule_anchor_step_out(&ruleset, in pf_delete_rule_by_owner()
2626 struct pf_ruleset *ruleset = *ruleset_ptr; in pf_deleterule_anchor_step_out() local
2630 struct pf_ruleset *rs_copy = ruleset; in pf_deleterule_anchor_step_out()
2631 ruleset = ruleset->anchor->parent? in pf_deleterule_anchor_step_out()
2632 &ruleset->anchor->parent->ruleset:&pf_main_ruleset; in pf_deleterule_anchor_step_out()
2634 rule = TAILQ_FIRST(ruleset->rules[rs].active.ptr); in pf_deleterule_anchor_step_out()
2641 if (rule->anchor->ruleset.rules[rs].active.rcount > 0) { in pf_deleterule_anchor_step_out()
2645 *ruleset_ptr = ruleset; in pf_deleterule_anchor_step_out()
2658 struct pf_ruleset *ruleset) in pf_rule_setup() argument
2705 if (pf_tbladdr_setup(ruleset, &rule->src.addr)) { in pf_rule_setup()
2708 if (pf_tbladdr_setup(ruleset, &rule->dst.addr)) { in pf_rule_setup()
2711 if (pf_anchor_setup(rule, ruleset, pr->anchor_call)) { in pf_rule_setup()
2715 if (pf_tbladdr_setup(ruleset, &apa->addr)) { in pf_rule_setup()
2720 if ((rule->overload_tbl = pfr_attach_table(ruleset, in pf_rule_setup()
2762 struct pf_ruleset *ruleset; in pfioctl_ioc_rule() local
2768 ruleset = pf_find_ruleset(pr->anchor); in pfioctl_ioc_rule()
2769 if (ruleset == NULL) { in pfioctl_ioc_rule()
2782 if (pr->ticket != ruleset->rules[rs_num].inactive.ticket) { in pfioctl_ioc_rule()
2803 tail = TAILQ_LAST(ruleset->rules[rs_num].inactive.ptr, in pfioctl_ioc_rule()
2811 if ((error = pf_rule_setup(pr, rule, ruleset))) { in pfioctl_ioc_rule()
2815 TAILQ_INSERT_TAIL(ruleset->rules[rs_num].inactive.ptr, in pfioctl_ioc_rule()
2817 ruleset->rules[rs_num].inactive.rcount++; in pfioctl_ioc_rule()
2862 struct pf_ruleset *ruleset; in pfioctl_ioc_rule() local
2868 ruleset = pf_find_ruleset(pr->anchor); in pfioctl_ioc_rule()
2869 if (ruleset == NULL) { in pfioctl_ioc_rule()
2878 tail = TAILQ_LAST(ruleset->rules[rs_num].active.ptr, in pfioctl_ioc_rule()
2885 pr->ticket = ruleset->rules[rs_num].active.ticket; in pfioctl_ioc_rule()
2890 struct pf_ruleset *ruleset; in pfioctl_ioc_rule() local
2896 ruleset = pf_find_ruleset(pr->anchor); in pfioctl_ioc_rule()
2897 if (ruleset == NULL) { in pfioctl_ioc_rule()
2906 if (pr->ticket != ruleset->rules[rs_num].active.ticket) { in pfioctl_ioc_rule()
2910 rule = TAILQ_FIRST(ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
2919 if (pf_anchor_copyout(ruleset, rule, pr)) { in pfioctl_ioc_rule()
2948 struct pf_ruleset *ruleset; in pfioctl_ioc_rule() local
2968 ruleset = pf_find_ruleset(pcr->anchor); in pfioctl_ioc_rule()
2969 if (ruleset == NULL) { in pfioctl_ioc_rule()
2980 pcr->ticket = ++ruleset->rules[rs_num].active.ticket; in pfioctl_ioc_rule()
2984 ruleset->rules[rs_num].active.ticket) { in pfioctl_ioc_rule()
3055 if (pf_tbladdr_setup(ruleset, &newrule->src.addr)) { in pfioctl_ioc_rule()
3058 if (pf_tbladdr_setup(ruleset, &newrule->dst.addr)) { in pfioctl_ioc_rule()
3061 if (pf_anchor_setup(newrule, ruleset, pcr->anchor_call)) { in pfioctl_ioc_rule()
3065 if (pf_tbladdr_setup(ruleset, &pa->addr)) { in pfioctl_ioc_rule()
3071 ruleset, newrule->overload_tblname)) == in pfioctl_ioc_rule()
3103 ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3106 ruleset->rules[rs_num].active.ptr, pf_rulequeue); in pfioctl_ioc_rule()
3109 ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3123 pf_rm_rule(ruleset->rules[rs_num].active.ptr, oldrule); in pfioctl_ioc_rule()
3124 ruleset->rules[rs_num].active.rcount--; in pfioctl_ioc_rule()
3128 ruleset->rules[rs_num].active.ptr, in pfioctl_ioc_rule()
3135 ruleset->rules[rs_num].active.ptr, in pfioctl_ioc_rule()
3138 ruleset->rules[rs_num].active.rcount++; in pfioctl_ioc_rule()
3143 ruleset->rules[rs_num].active.ptr, entries) in pfioctl_ioc_rule()
3146 ruleset->rules[rs_num].active.ticket++; in pfioctl_ioc_rule()
3148 pf_calc_skip_steps(ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3149 pf_remove_if_empty_ruleset(ruleset); in pfioctl_ioc_rule()
3158 struct pf_ruleset *ruleset; in pfioctl_ioc_rule() local
3167 if ((ruleset = pf_find_ruleset_with_owner(pr->anchor, in pfioctl_ioc_rule()
3184 r = TAILQ_FIRST(ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3218 r = TAILQ_FIRST(ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3224 TAILQ_LAST(ruleset->rules[rs_num].active.ptr, in pfioctl_ioc_rule()
3234 if ((error = pf_rule_setup(pr, rule, ruleset))) { in pfioctl_ioc_rule()
3249 TAILQ_INSERT_TAIL(ruleset->rules[rs_num].active.ptr, in pfioctl_ioc_rule()
3252 ruleset->rules[rs_num].active.rcount++; in pfioctl_ioc_rule()
3255 if (ruleset == &pf_main_ruleset) { in pfioctl_ioc_rule()
3256 error = pf_setup_pfsync_matching(ruleset); in pfioctl_ioc_rule()
3259 pf_ruleset_cleanup(ruleset, rs_num); in pfioctl_ioc_rule()
3874 struct pf_ruleset *ruleset; in pfioctl_ioc_pooladdr() local
3889 ruleset = pf_find_ruleset(pca->anchor); in pfioctl_ioc_pooladdr()
3890 if (ruleset == NULL) { in pfioctl_ioc_pooladdr()
3927 pf_tbladdr_setup(ruleset, &newpa->addr)) { in pfioctl_ioc_pooladdr()
3994 struct pf_ruleset *ruleset; in pfioctl_ioc_ruleset() local
3999 if ((ruleset = pf_find_ruleset(pr->path)) == NULL) { in pfioctl_ioc_ruleset()
4004 if (ruleset->anchor == NULL) { in pfioctl_ioc_ruleset()
4012 &ruleset->anchor->children) in pfioctl_ioc_ruleset()
4019 struct pf_ruleset *ruleset; in pfioctl_ioc_ruleset() local
4024 if ((ruleset = pf_find_ruleset(pr->path)) == NULL) { in pfioctl_ioc_ruleset()
4029 if (ruleset->anchor == NULL) { in pfioctl_ioc_ruleset()
4039 &ruleset->anchor->children) in pfioctl_ioc_ruleset()