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()
1729 struct pf_ruleset *ruleset = &pf_main_ruleset; in pfioctl() local
1733 ruleset->rules[PF_RULESET_FILTER].active.ptr, entries) { in pfioctl()
2419 pf_delete_rule_from_ruleset(struct pf_ruleset *ruleset, int rs_num, in pf_delete_rule_from_ruleset() argument
2427 pf_rm_rule(ruleset->rules[rs_num].active.ptr, rule); in pf_delete_rule_from_ruleset()
2428 if (ruleset->rules[rs_num].active.rcount-- == 0) { in pf_delete_rule_from_ruleset()
2431 r = TAILQ_FIRST(ruleset->rules[rs_num].active.ptr); in pf_delete_rule_from_ruleset()
2441 pf_ruleset_cleanup(struct pf_ruleset *ruleset, int rs) in pf_ruleset_cleanup() argument
2443 pf_calc_skip_steps(ruleset->rules[rs].active.ptr); in pf_ruleset_cleanup()
2444 ruleset->rules[rs].active.ticket = in pf_ruleset_cleanup()
2445 ++ruleset->rules[rs].inactive.ticket; in pf_ruleset_cleanup()
2455 struct pf_ruleset *ruleset; in pf_delete_rule_by_ticket() local
2462 if ((ruleset = pf_find_ruleset_with_owner(pr->anchor, in pf_delete_rule_by_ticket()
2468 rule = TAILQ_FIRST(ruleset->rules[i].active.ptr); in pf_delete_rule_by_ticket()
2484 if (rule->anchor && (ruleset != &pf_main_ruleset) && in pf_delete_rule_by_ticket()
2485 ((strcmp(ruleset->anchor->owner, "")) == 0) && in pf_delete_rule_by_ticket()
2486 ((ruleset->rules[i].active.rcount - 1) == 0)) { in pf_delete_rule_by_ticket()
2489 struct pf_ruleset *delete_ruleset = ruleset; in pf_delete_rule_by_ticket()
2491 #define parent_ruleset ruleset->anchor->parent->ruleset in pf_delete_rule_by_ticket()
2492 if (ruleset->anchor->parent == NULL) { in pf_delete_rule_by_ticket()
2493 ruleset = &pf_main_ruleset; in pf_delete_rule_by_ticket()
2495 ruleset = &parent_ruleset; in pf_delete_rule_by_ticket()
2498 rule = TAILQ_FIRST(ruleset->rules[i].active.ptr); in pf_delete_rule_by_ticket()
2540 pf_delete_rule_from_ruleset(ruleset, i, in pf_delete_rule_by_ticket()
2542 pf_ruleset_cleanup(ruleset, i); in pf_delete_rule_by_ticket()
2555 struct pf_ruleset *ruleset; in pf_delete_rule_by_owner() local
2561 ruleset = &pf_main_ruleset; in pf_delete_rule_by_owner()
2575 if (rule->anchor->ruleset.rules[rs].active.rcount > 0) { in pf_delete_rule_by_owner()
2577 pf_ruleset_cleanup(ruleset, rs); in pf_delete_rule_by_owner()
2581 ruleset = in pf_delete_rule_by_owner()
2582 &rule->anchor->ruleset; in pf_delete_rule_by_owner()
2583 rule = TAILQ_FIRST(ruleset->rules[rs].active.ptr); in pf_delete_rule_by_owner()
2590 pf_delete_rule_from_ruleset(ruleset, rs, rule); in pf_delete_rule_by_owner()
2603 pf_delete_rule_from_ruleset(ruleset, in pf_delete_rule_by_owner()
2611 pf_ruleset_cleanup(ruleset, rs); in pf_delete_rule_by_owner()
2614 if (ruleset != &pf_main_ruleset) { in pf_delete_rule_by_owner()
2615 pf_deleterule_anchor_step_out(&ruleset, in pf_delete_rule_by_owner()
2627 struct pf_ruleset *ruleset = *ruleset_ptr; in pf_deleterule_anchor_step_out() local
2631 struct pf_ruleset *rs_copy = ruleset; in pf_deleterule_anchor_step_out()
2632 ruleset = ruleset->anchor->parent? in pf_deleterule_anchor_step_out()
2633 &ruleset->anchor->parent->ruleset:&pf_main_ruleset; in pf_deleterule_anchor_step_out()
2635 rule = TAILQ_FIRST(ruleset->rules[rs].active.ptr); in pf_deleterule_anchor_step_out()
2642 if (rule->anchor->ruleset.rules[rs].active.rcount > 0) { in pf_deleterule_anchor_step_out()
2646 *ruleset_ptr = ruleset; in pf_deleterule_anchor_step_out()
2659 struct pf_ruleset *ruleset) in pf_rule_setup() argument
2706 if (pf_tbladdr_setup(ruleset, &rule->src.addr)) { in pf_rule_setup()
2709 if (pf_tbladdr_setup(ruleset, &rule->dst.addr)) { in pf_rule_setup()
2712 if (pf_anchor_setup(rule, ruleset, pr->anchor_call)) { in pf_rule_setup()
2716 if (pf_tbladdr_setup(ruleset, &apa->addr)) { in pf_rule_setup()
2721 if ((rule->overload_tbl = pfr_attach_table(ruleset, in pf_rule_setup()
2763 struct pf_ruleset *ruleset; in pfioctl_ioc_rule() local
2769 ruleset = pf_find_ruleset(pr->anchor); in pfioctl_ioc_rule()
2770 if (ruleset == NULL) { in pfioctl_ioc_rule()
2783 if (pr->ticket != ruleset->rules[rs_num].inactive.ticket) { in pfioctl_ioc_rule()
2804 tail = TAILQ_LAST(ruleset->rules[rs_num].inactive.ptr, in pfioctl_ioc_rule()
2812 if ((error = pf_rule_setup(pr, rule, ruleset))) { in pfioctl_ioc_rule()
2816 TAILQ_INSERT_TAIL(ruleset->rules[rs_num].inactive.ptr, in pfioctl_ioc_rule()
2818 ruleset->rules[rs_num].inactive.rcount++; in pfioctl_ioc_rule()
2863 struct pf_ruleset *ruleset; in pfioctl_ioc_rule() local
2869 ruleset = pf_find_ruleset(pr->anchor); in pfioctl_ioc_rule()
2870 if (ruleset == NULL) { in pfioctl_ioc_rule()
2879 tail = TAILQ_LAST(ruleset->rules[rs_num].active.ptr, in pfioctl_ioc_rule()
2886 pr->ticket = ruleset->rules[rs_num].active.ticket; in pfioctl_ioc_rule()
2891 struct pf_ruleset *ruleset; in pfioctl_ioc_rule() local
2897 ruleset = pf_find_ruleset(pr->anchor); in pfioctl_ioc_rule()
2898 if (ruleset == NULL) { in pfioctl_ioc_rule()
2907 if (pr->ticket != ruleset->rules[rs_num].active.ticket) { in pfioctl_ioc_rule()
2911 rule = TAILQ_FIRST(ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
2920 if (pf_anchor_copyout(ruleset, rule, pr)) { in pfioctl_ioc_rule()
2949 struct pf_ruleset *ruleset; in pfioctl_ioc_rule() local
2969 ruleset = pf_find_ruleset(pcr->anchor); in pfioctl_ioc_rule()
2970 if (ruleset == NULL) { in pfioctl_ioc_rule()
2981 pcr->ticket = ++ruleset->rules[rs_num].active.ticket; in pfioctl_ioc_rule()
2985 ruleset->rules[rs_num].active.ticket) { in pfioctl_ioc_rule()
3056 if (pf_tbladdr_setup(ruleset, &newrule->src.addr)) { in pfioctl_ioc_rule()
3059 if (pf_tbladdr_setup(ruleset, &newrule->dst.addr)) { in pfioctl_ioc_rule()
3062 if (pf_anchor_setup(newrule, ruleset, pcr->anchor_call)) { in pfioctl_ioc_rule()
3066 if (pf_tbladdr_setup(ruleset, &pa->addr)) { in pfioctl_ioc_rule()
3072 ruleset, newrule->overload_tblname)) == in pfioctl_ioc_rule()
3104 ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3107 ruleset->rules[rs_num].active.ptr, pf_rulequeue); in pfioctl_ioc_rule()
3110 ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3124 pf_rm_rule(ruleset->rules[rs_num].active.ptr, oldrule); in pfioctl_ioc_rule()
3125 ruleset->rules[rs_num].active.rcount--; in pfioctl_ioc_rule()
3129 ruleset->rules[rs_num].active.ptr, in pfioctl_ioc_rule()
3136 ruleset->rules[rs_num].active.ptr, in pfioctl_ioc_rule()
3139 ruleset->rules[rs_num].active.rcount++; in pfioctl_ioc_rule()
3144 ruleset->rules[rs_num].active.ptr, entries) in pfioctl_ioc_rule()
3147 ruleset->rules[rs_num].active.ticket++; in pfioctl_ioc_rule()
3149 pf_calc_skip_steps(ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3150 pf_remove_if_empty_ruleset(ruleset); in pfioctl_ioc_rule()
3159 struct pf_ruleset *ruleset; in pfioctl_ioc_rule() local
3168 if ((ruleset = pf_find_ruleset_with_owner(pr->anchor, in pfioctl_ioc_rule()
3185 r = TAILQ_FIRST(ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3219 r = TAILQ_FIRST(ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3225 TAILQ_LAST(ruleset->rules[rs_num].active.ptr, in pfioctl_ioc_rule()
3235 if ((error = pf_rule_setup(pr, rule, ruleset))) { in pfioctl_ioc_rule()
3250 TAILQ_INSERT_TAIL(ruleset->rules[rs_num].active.ptr, in pfioctl_ioc_rule()
3253 ruleset->rules[rs_num].active.rcount++; in pfioctl_ioc_rule()
3256 if (ruleset == &pf_main_ruleset) { in pfioctl_ioc_rule()
3257 error = pf_setup_pfsync_matching(ruleset); in pfioctl_ioc_rule()
3260 pf_ruleset_cleanup(ruleset, rs_num); in pfioctl_ioc_rule()
3875 struct pf_ruleset *ruleset; in pfioctl_ioc_pooladdr() local
3890 ruleset = pf_find_ruleset(pca->anchor); in pfioctl_ioc_pooladdr()
3891 if (ruleset == NULL) { in pfioctl_ioc_pooladdr()
3928 pf_tbladdr_setup(ruleset, &newpa->addr)) { in pfioctl_ioc_pooladdr()
3995 struct pf_ruleset *ruleset; in pfioctl_ioc_ruleset() local
4000 if ((ruleset = pf_find_ruleset(pr->path)) == NULL) { in pfioctl_ioc_ruleset()
4005 if (ruleset->anchor == NULL) { in pfioctl_ioc_ruleset()
4013 &ruleset->anchor->children) in pfioctl_ioc_ruleset()
4020 struct pf_ruleset *ruleset; in pfioctl_ioc_ruleset() local
4025 if ((ruleset = pf_find_ruleset(pr->path)) == NULL) { in pfioctl_ioc_ruleset()
4030 if (ruleset->anchor == NULL) { in pfioctl_ioc_ruleset()
4040 &ruleset->anchor->children) in pfioctl_ioc_ruleset()