Lines Matching refs:ruleset
646 struct pf_ruleset *ruleset; in pf_get_pool() local
650 ruleset = pf_find_ruleset(anchor); in pf_get_pool()
651 if (ruleset == NULL) { in pf_get_pool()
660 ruleset->rules[rs_num].active.ticket) { in pf_get_pool()
664 rule = TAILQ_LAST(ruleset->rules[rs_num].active.ptr, in pf_get_pool()
667 rule = TAILQ_FIRST(ruleset->rules[rs_num].active.ptr); in pf_get_pool()
671 ruleset->rules[rs_num].inactive.ticket) { in pf_get_pool()
675 rule = TAILQ_LAST(ruleset->rules[rs_num].inactive.ptr, in pf_get_pool()
678 rule = TAILQ_FIRST(ruleset->rules[rs_num].inactive.ptr); in pf_get_pool()
1743 struct pf_ruleset *ruleset = &pf_main_ruleset; in pfioctl() local
1747 ruleset->rules[PF_RULESET_FILTER].active.ptr, entries) { in pfioctl()
2434 pf_delete_rule_from_ruleset(struct pf_ruleset *ruleset, int rs_num, in pf_delete_rule_from_ruleset() argument
2442 pf_rm_rule(ruleset->rules[rs_num].active.ptr, rule); in pf_delete_rule_from_ruleset()
2443 if (ruleset->rules[rs_num].active.rcount-- == 0) { in pf_delete_rule_from_ruleset()
2446 r = TAILQ_FIRST(ruleset->rules[rs_num].active.ptr); in pf_delete_rule_from_ruleset()
2456 pf_ruleset_cleanup(struct pf_ruleset *ruleset, int rs) in pf_ruleset_cleanup() argument
2458 pf_calc_skip_steps(ruleset->rules[rs].active.ptr); in pf_ruleset_cleanup()
2459 ruleset->rules[rs].active.ticket = in pf_ruleset_cleanup()
2460 ++ruleset->rules[rs].inactive.ticket; in pf_ruleset_cleanup()
2470 struct pf_ruleset *ruleset; in pf_delete_rule_by_ticket() local
2477 if ((ruleset = pf_find_ruleset_with_owner(pr->anchor, in pf_delete_rule_by_ticket()
2483 rule = TAILQ_FIRST(ruleset->rules[i].active.ptr); in pf_delete_rule_by_ticket()
2499 if (rule->anchor && (ruleset != &pf_main_ruleset) && in pf_delete_rule_by_ticket()
2500 ((strcmp(ruleset->anchor->owner, "")) == 0) && in pf_delete_rule_by_ticket()
2501 ((ruleset->rules[i].active.rcount - 1) == 0)) { in pf_delete_rule_by_ticket()
2504 struct pf_ruleset *delete_ruleset = ruleset; in pf_delete_rule_by_ticket()
2506 #define parent_ruleset ruleset->anchor->parent->ruleset in pf_delete_rule_by_ticket()
2507 if (ruleset->anchor->parent == NULL) { in pf_delete_rule_by_ticket()
2508 ruleset = &pf_main_ruleset; in pf_delete_rule_by_ticket()
2510 ruleset = &parent_ruleset; in pf_delete_rule_by_ticket()
2513 rule = TAILQ_FIRST(ruleset->rules[i].active.ptr); in pf_delete_rule_by_ticket()
2555 pf_delete_rule_from_ruleset(ruleset, i, in pf_delete_rule_by_ticket()
2557 pf_ruleset_cleanup(ruleset, i); in pf_delete_rule_by_ticket()
2570 struct pf_ruleset *ruleset; in pf_delete_rule_by_owner() local
2576 ruleset = &pf_main_ruleset; in pf_delete_rule_by_owner()
2590 if (rule->anchor->ruleset.rules[rs].active.rcount > 0) { in pf_delete_rule_by_owner()
2592 pf_ruleset_cleanup(ruleset, rs); in pf_delete_rule_by_owner()
2596 ruleset = in pf_delete_rule_by_owner()
2597 &rule->anchor->ruleset; in pf_delete_rule_by_owner()
2598 rule = TAILQ_FIRST(ruleset->rules[rs].active.ptr); in pf_delete_rule_by_owner()
2605 pf_delete_rule_from_ruleset(ruleset, rs, rule); in pf_delete_rule_by_owner()
2618 pf_delete_rule_from_ruleset(ruleset, in pf_delete_rule_by_owner()
2626 pf_ruleset_cleanup(ruleset, rs); in pf_delete_rule_by_owner()
2629 if (ruleset != &pf_main_ruleset) { in pf_delete_rule_by_owner()
2630 pf_deleterule_anchor_step_out(&ruleset, in pf_delete_rule_by_owner()
2642 struct pf_ruleset *ruleset = *ruleset_ptr; in pf_deleterule_anchor_step_out() local
2646 struct pf_ruleset *rs_copy = ruleset; in pf_deleterule_anchor_step_out()
2647 ruleset = ruleset->anchor->parent? in pf_deleterule_anchor_step_out()
2648 &ruleset->anchor->parent->ruleset:&pf_main_ruleset; in pf_deleterule_anchor_step_out()
2650 rule = TAILQ_FIRST(ruleset->rules[rs].active.ptr); in pf_deleterule_anchor_step_out()
2657 if (rule->anchor->ruleset.rules[rs].active.rcount > 0) { in pf_deleterule_anchor_step_out()
2661 *ruleset_ptr = ruleset; in pf_deleterule_anchor_step_out()
2674 struct pf_ruleset *ruleset) in pf_rule_setup() argument
2721 if (pf_tbladdr_setup(ruleset, &rule->src.addr)) { in pf_rule_setup()
2724 if (pf_tbladdr_setup(ruleset, &rule->dst.addr)) { in pf_rule_setup()
2727 if (pf_anchor_setup(rule, ruleset, pr->anchor_call)) { in pf_rule_setup()
2731 if (pf_tbladdr_setup(ruleset, &apa->addr)) { in pf_rule_setup()
2736 if ((rule->overload_tbl = pfr_attach_table(ruleset, in pf_rule_setup()
2778 struct pf_ruleset *ruleset; in pfioctl_ioc_rule() local
2784 ruleset = pf_find_ruleset(pr->anchor); in pfioctl_ioc_rule()
2785 if (ruleset == NULL) { in pfioctl_ioc_rule()
2798 if (pr->ticket != ruleset->rules[rs_num].inactive.ticket) { in pfioctl_ioc_rule()
2819 tail = TAILQ_LAST(ruleset->rules[rs_num].inactive.ptr, in pfioctl_ioc_rule()
2827 if ((error = pf_rule_setup(pr, rule, ruleset))) { in pfioctl_ioc_rule()
2831 TAILQ_INSERT_TAIL(ruleset->rules[rs_num].inactive.ptr, in pfioctl_ioc_rule()
2833 ruleset->rules[rs_num].inactive.rcount++; in pfioctl_ioc_rule()
2878 struct pf_ruleset *ruleset; in pfioctl_ioc_rule() local
2884 ruleset = pf_find_ruleset(pr->anchor); in pfioctl_ioc_rule()
2885 if (ruleset == NULL) { in pfioctl_ioc_rule()
2894 tail = TAILQ_LAST(ruleset->rules[rs_num].active.ptr, in pfioctl_ioc_rule()
2901 pr->ticket = ruleset->rules[rs_num].active.ticket; in pfioctl_ioc_rule()
2906 struct pf_ruleset *ruleset; in pfioctl_ioc_rule() local
2912 ruleset = pf_find_ruleset(pr->anchor); in pfioctl_ioc_rule()
2913 if (ruleset == NULL) { in pfioctl_ioc_rule()
2922 if (pr->ticket != ruleset->rules[rs_num].active.ticket) { in pfioctl_ioc_rule()
2926 rule = TAILQ_FIRST(ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
2935 if (pf_anchor_copyout(ruleset, rule, pr)) { in pfioctl_ioc_rule()
2964 struct pf_ruleset *ruleset; in pfioctl_ioc_rule() local
2984 ruleset = pf_find_ruleset(pcr->anchor); in pfioctl_ioc_rule()
2985 if (ruleset == NULL) { in pfioctl_ioc_rule()
2996 pcr->ticket = ++ruleset->rules[rs_num].active.ticket; in pfioctl_ioc_rule()
3000 ruleset->rules[rs_num].active.ticket) { in pfioctl_ioc_rule()
3071 if (pf_tbladdr_setup(ruleset, &newrule->src.addr)) { in pfioctl_ioc_rule()
3074 if (pf_tbladdr_setup(ruleset, &newrule->dst.addr)) { in pfioctl_ioc_rule()
3077 if (pf_anchor_setup(newrule, ruleset, pcr->anchor_call)) { in pfioctl_ioc_rule()
3081 if (pf_tbladdr_setup(ruleset, &pa->addr)) { in pfioctl_ioc_rule()
3087 ruleset, newrule->overload_tblname)) == in pfioctl_ioc_rule()
3119 ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3122 ruleset->rules[rs_num].active.ptr, pf_rulequeue); in pfioctl_ioc_rule()
3125 ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3139 pf_rm_rule(ruleset->rules[rs_num].active.ptr, oldrule); in pfioctl_ioc_rule()
3140 ruleset->rules[rs_num].active.rcount--; in pfioctl_ioc_rule()
3144 ruleset->rules[rs_num].active.ptr, in pfioctl_ioc_rule()
3151 ruleset->rules[rs_num].active.ptr, in pfioctl_ioc_rule()
3154 ruleset->rules[rs_num].active.rcount++; in pfioctl_ioc_rule()
3159 ruleset->rules[rs_num].active.ptr, entries) in pfioctl_ioc_rule()
3162 ruleset->rules[rs_num].active.ticket++; in pfioctl_ioc_rule()
3164 pf_calc_skip_steps(ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3165 pf_remove_if_empty_ruleset(ruleset); in pfioctl_ioc_rule()
3174 struct pf_ruleset *ruleset; in pfioctl_ioc_rule() local
3183 if ((ruleset = pf_find_ruleset_with_owner(pr->anchor, in pfioctl_ioc_rule()
3200 r = TAILQ_FIRST(ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3234 r = TAILQ_FIRST(ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3240 TAILQ_LAST(ruleset->rules[rs_num].active.ptr, in pfioctl_ioc_rule()
3250 if ((error = pf_rule_setup(pr, rule, ruleset))) { in pfioctl_ioc_rule()
3265 TAILQ_INSERT_TAIL(ruleset->rules[rs_num].active.ptr, in pfioctl_ioc_rule()
3268 ruleset->rules[rs_num].active.rcount++; in pfioctl_ioc_rule()
3271 if (ruleset == &pf_main_ruleset) { in pfioctl_ioc_rule()
3272 error = pf_setup_pfsync_matching(ruleset); in pfioctl_ioc_rule()
3275 pf_ruleset_cleanup(ruleset, rs_num); in pfioctl_ioc_rule()
3890 struct pf_ruleset *ruleset; in pfioctl_ioc_pooladdr() local
3905 ruleset = pf_find_ruleset(pca->anchor); in pfioctl_ioc_pooladdr()
3906 if (ruleset == NULL) { in pfioctl_ioc_pooladdr()
3943 pf_tbladdr_setup(ruleset, &newpa->addr)) { in pfioctl_ioc_pooladdr()
4010 struct pf_ruleset *ruleset; in pfioctl_ioc_ruleset() local
4015 if ((ruleset = pf_find_ruleset(pr->path)) == NULL) { in pfioctl_ioc_ruleset()
4020 if (ruleset->anchor == NULL) { in pfioctl_ioc_ruleset()
4028 &ruleset->anchor->children) in pfioctl_ioc_ruleset()
4035 struct pf_ruleset *ruleset; in pfioctl_ioc_ruleset() local
4040 if ((ruleset = pf_find_ruleset(pr->path)) == NULL) { in pfioctl_ioc_ruleset()
4045 if (ruleset->anchor == NULL) { in pfioctl_ioc_ruleset()
4055 &ruleset->anchor->children) in pfioctl_ioc_ruleset()