Lines Matching refs:ruleset
690 struct pf_ruleset *__single ruleset; in pf_get_pool() local
695 ruleset = pf_find_ruleset(anchor); in pf_get_pool()
696 if (ruleset == NULL) { in pf_get_pool()
705 ruleset->rules[rs_num].active.ticket) { in pf_get_pool()
709 rule = TAILQ_LAST(ruleset->rules[rs_num].active.ptr, in pf_get_pool()
712 rule = TAILQ_FIRST(ruleset->rules[rs_num].active.ptr); in pf_get_pool()
716 ruleset->rules[rs_num].inactive.ticket) { in pf_get_pool()
720 rule = TAILQ_LAST(ruleset->rules[rs_num].inactive.ptr, in pf_get_pool()
723 rule = TAILQ_FIRST(ruleset->rules[rs_num].inactive.ptr); in pf_get_pool()
738 if (ruleset) { in pf_get_pool()
739 pf_release_ruleset(ruleset); in pf_get_pool()
740 ruleset = NULL; in pf_get_pool()
1822 struct pf_ruleset *ruleset = &pf_main_ruleset; in pfioctl() local
1826 ruleset->rules[PF_RULESET_FILTER].active.ptr, entries) { in pfioctl()
2508 pf_delete_rule_from_ruleset(struct pf_ruleset *ruleset, int rs_num, in pf_delete_rule_from_ruleset() argument
2516 pf_rm_rule(ruleset->rules[rs_num].active.ptr, rule); in pf_delete_rule_from_ruleset()
2517 if (ruleset->rules[rs_num].active.rcount-- == 0) { in pf_delete_rule_from_ruleset()
2520 r = TAILQ_FIRST(ruleset->rules[rs_num].active.ptr); in pf_delete_rule_from_ruleset()
2530 pf_ruleset_cleanup(struct pf_ruleset *ruleset, int rs) in pf_ruleset_cleanup() argument
2532 pf_calc_skip_steps(ruleset->rules[rs].active.ptr); in pf_ruleset_cleanup()
2533 ruleset->rules[rs].active.ticket = in pf_ruleset_cleanup()
2534 ++ruleset->rules[rs].inactive.ticket; in pf_ruleset_cleanup()
2544 struct pf_ruleset *ruleset; in pf_delete_rule_by_ticket() local
2551 if ((ruleset = pf_find_ruleset_with_owner(__unsafe_null_terminated_from_indexable(pr->anchor), in pf_delete_rule_by_ticket()
2557 rule = TAILQ_FIRST(ruleset->rules[i].active.ptr); in pf_delete_rule_by_ticket()
2575 if (rule->anchor && (ruleset != &pf_main_ruleset) && in pf_delete_rule_by_ticket()
2576 ((strbufcmp(ruleset->anchor->owner, "")) == 0) && in pf_delete_rule_by_ticket()
2577 ((ruleset->rules[i].active.rcount - 1) == 0)) { in pf_delete_rule_by_ticket()
2580 struct pf_ruleset *delete_ruleset = ruleset; in pf_delete_rule_by_ticket()
2582 #define parent_ruleset ruleset->anchor->parent->ruleset in pf_delete_rule_by_ticket()
2583 if (ruleset->anchor->parent == NULL) { in pf_delete_rule_by_ticket()
2584 ruleset = &pf_main_ruleset; in pf_delete_rule_by_ticket()
2586 ruleset = &parent_ruleset; in pf_delete_rule_by_ticket()
2589 rule = TAILQ_FIRST(ruleset->rules[i].active.ptr); in pf_delete_rule_by_ticket()
2633 pf_delete_rule_from_ruleset(ruleset, i, in pf_delete_rule_by_ticket()
2635 pf_ruleset_cleanup(ruleset, i); in pf_delete_rule_by_ticket()
2639 if (ruleset) { in pf_delete_rule_by_ticket()
2640 pf_release_ruleset(ruleset); in pf_delete_rule_by_ticket()
2641 ruleset = NULL; in pf_delete_rule_by_ticket()
2653 struct pf_ruleset *__single ruleset; in pf_delete_rule_by_owner() local
2659 ruleset = &pf_main_ruleset; in pf_delete_rule_by_owner()
2671 if (rule->anchor->ruleset.rules[rs].active.rcount > 0) { in pf_delete_rule_by_owner()
2673 pf_ruleset_cleanup(ruleset, rs); in pf_delete_rule_by_owner()
2677 ruleset = in pf_delete_rule_by_owner()
2678 &rule->anchor->ruleset; in pf_delete_rule_by_owner()
2679 rule = TAILQ_FIRST(ruleset->rules[rs].active.ptr); in pf_delete_rule_by_owner()
2686 pf_delete_rule_from_ruleset(ruleset, rs, rule); in pf_delete_rule_by_owner()
2699 pf_delete_rule_from_ruleset(ruleset, in pf_delete_rule_by_owner()
2707 pf_ruleset_cleanup(ruleset, rs); in pf_delete_rule_by_owner()
2710 if (ruleset != &pf_main_ruleset) { in pf_delete_rule_by_owner()
2711 pf_deleterule_anchor_step_out(&ruleset, in pf_delete_rule_by_owner()
2723 struct pf_ruleset *ruleset = *ruleset_ptr; in pf_deleterule_anchor_step_out() local
2727 struct pf_ruleset *rs_copy = ruleset; in pf_deleterule_anchor_step_out()
2728 ruleset = ruleset->anchor->parent? in pf_deleterule_anchor_step_out()
2729 &ruleset->anchor->parent->ruleset:&pf_main_ruleset; in pf_deleterule_anchor_step_out()
2731 rule = TAILQ_FIRST(ruleset->rules[rs].active.ptr); in pf_deleterule_anchor_step_out()
2738 if (rule->anchor->ruleset.rules[rs].active.rcount > 0) { in pf_deleterule_anchor_step_out()
2742 *ruleset_ptr = ruleset; in pf_deleterule_anchor_step_out()
2755 struct pf_ruleset *ruleset) in pf_rule_setup() argument
2802 if (pf_tbladdr_setup(ruleset, &rule->src.addr)) { in pf_rule_setup()
2805 if (pf_tbladdr_setup(ruleset, &rule->dst.addr)) { in pf_rule_setup()
2808 if (pf_anchor_setup(rule, ruleset, pr->anchor_call, sizeof(pr->anchor_call))) { in pf_rule_setup()
2812 if (pf_tbladdr_setup(ruleset, &apa->addr)) { in pf_rule_setup()
2817 if ((rule->overload_tbl = pfr_attach_table(ruleset, in pf_rule_setup()
2856 struct pf_ruleset *__single ruleset = NULL; in pfioctl_ioc_rule() local
2865 ruleset = pf_find_ruleset(__unsafe_null_terminated_from_indexable(pr->anchor)); in pfioctl_ioc_rule()
2866 if (ruleset == NULL) { in pfioctl_ioc_rule()
2879 if (pr->ticket != ruleset->rules[rs_num].inactive.ticket) { in pfioctl_ioc_rule()
2900 tail = TAILQ_LAST(ruleset->rules[rs_num].inactive.ptr, in pfioctl_ioc_rule()
2908 if ((error = pf_rule_setup(pr, rule, ruleset))) { in pfioctl_ioc_rule()
2911 TAILQ_INSERT_TAIL(ruleset->rules[rs_num].inactive.ptr, in pfioctl_ioc_rule()
2913 ruleset->rules[rs_num].inactive.rcount++; in pfioctl_ioc_rule()
2962 ruleset = pf_find_ruleset(__unsafe_null_terminated_from_indexable(pr->anchor)); in pfioctl_ioc_rule()
2963 if (ruleset == NULL) { in pfioctl_ioc_rule()
2972 tail = TAILQ_LAST(ruleset->rules[rs_num].active.ptr, in pfioctl_ioc_rule()
2979 pr->ticket = ruleset->rules[rs_num].active.ticket; in pfioctl_ioc_rule()
2989 ruleset = pf_find_ruleset(__unsafe_null_terminated_from_indexable(pr->anchor)); in pfioctl_ioc_rule()
2990 if (ruleset == NULL) { in pfioctl_ioc_rule()
2999 if (pr->ticket != ruleset->rules[rs_num].active.ticket) { in pfioctl_ioc_rule()
3003 rule = TAILQ_FIRST(ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3012 if (pf_anchor_copyout(ruleset, rule, pr)) { in pfioctl_ioc_rule()
3060 ruleset = pf_find_ruleset(__unsafe_null_terminated_from_indexable(pcr->anchor)); in pfioctl_ioc_rule()
3061 if (ruleset == NULL) { in pfioctl_ioc_rule()
3072 pcr->ticket = ++ruleset->rules[rs_num].active.ticket; in pfioctl_ioc_rule()
3076 ruleset->rules[rs_num].active.ticket) { in pfioctl_ioc_rule()
3147 if (pf_tbladdr_setup(ruleset, &newrule->src.addr)) { in pfioctl_ioc_rule()
3150 if (pf_tbladdr_setup(ruleset, &newrule->dst.addr)) { in pfioctl_ioc_rule()
3153 if (pf_anchor_setup(newrule, ruleset, pcr->anchor_call, sizeof(pcr->anchor_call))) { in pfioctl_ioc_rule()
3157 if (pf_tbladdr_setup(ruleset, &pa->addr)) { in pfioctl_ioc_rule()
3163 ruleset, __unsafe_null_terminated_from_indexable(newrule->overload_tblname))) == in pfioctl_ioc_rule()
3195 ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3198 ruleset->rules[rs_num].active.ptr, pf_rulequeue); in pfioctl_ioc_rule()
3201 ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3215 pf_rm_rule(ruleset->rules[rs_num].active.ptr, oldrule); in pfioctl_ioc_rule()
3216 ruleset->rules[rs_num].active.rcount--; in pfioctl_ioc_rule()
3220 ruleset->rules[rs_num].active.ptr, in pfioctl_ioc_rule()
3227 ruleset->rules[rs_num].active.ptr, in pfioctl_ioc_rule()
3230 ruleset->rules[rs_num].active.rcount++; in pfioctl_ioc_rule()
3235 ruleset->rules[rs_num].active.ptr, entries) in pfioctl_ioc_rule()
3238 ruleset->rules[rs_num].active.ticket++; in pfioctl_ioc_rule()
3240 pf_calc_skip_steps(ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3256 if ((ruleset = pf_find_ruleset_with_owner(__unsafe_null_terminated_from_indexable(pr->anchor), in pfioctl_ioc_rule()
3273 r = TAILQ_FIRST(ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3307 r = TAILQ_FIRST(ruleset->rules[rs_num].active.ptr); in pfioctl_ioc_rule()
3313 TAILQ_LAST(ruleset->rules[rs_num].active.ptr, in pfioctl_ioc_rule()
3323 if ((error = pf_rule_setup(pr, rule, ruleset))) { in pfioctl_ioc_rule()
3337 TAILQ_INSERT_TAIL(ruleset->rules[rs_num].active.ptr, in pfioctl_ioc_rule()
3340 ruleset->rules[rs_num].active.rcount++; in pfioctl_ioc_rule()
3343 if (ruleset == &pf_main_ruleset) { in pfioctl_ioc_rule()
3344 error = pf_setup_pfsync_matching(ruleset); in pfioctl_ioc_rule()
3347 pf_ruleset_cleanup(ruleset, rs_num); in pfioctl_ioc_rule()
3372 ASSERT(ruleset == NULL); in pfioctl_ioc_rule()
3407 if (ruleset != NULL) { in pfioctl_ioc_rule()
3408 pf_release_ruleset(ruleset); in pfioctl_ioc_rule()
3409 ruleset = NULL; in pfioctl_ioc_rule()
3869 struct pf_ruleset *__single ruleset = NULL; in pfioctl_ioc_pooladdr() local
3980 ruleset = pf_find_ruleset(__unsafe_null_terminated_from_indexable(pca->anchor)); in pfioctl_ioc_pooladdr()
3981 if (ruleset == NULL) { in pfioctl_ioc_pooladdr()
4018 pf_tbladdr_setup(ruleset, &newpa->addr)) { in pfioctl_ioc_pooladdr()
4074 if (ruleset) { in pfioctl_ioc_pooladdr()
4075 pf_release_ruleset(ruleset); in pfioctl_ioc_pooladdr()
4076 ruleset = NULL; in pfioctl_ioc_pooladdr()
4087 struct pf_ruleset *ruleset = NULL; in pfioctl_ioc_ruleset() local
4095 if ((ruleset = pf_find_ruleset(__unsafe_null_terminated_from_indexable(pr->path))) == NULL) { in pfioctl_ioc_ruleset()
4100 if (ruleset->anchor == NULL) { in pfioctl_ioc_ruleset()
4108 &ruleset->anchor->children) in pfioctl_ioc_ruleset()
4119 if ((ruleset = pf_find_ruleset(__unsafe_null_terminated_from_indexable(pr->path))) == NULL) { in pfioctl_ioc_ruleset()
4124 if (ruleset->anchor == NULL) { in pfioctl_ioc_ruleset()
4133 &ruleset->anchor->children) in pfioctl_ioc_ruleset()
4150 if (ruleset) { in pfioctl_ioc_ruleset()
4151 pf_release_ruleset(ruleset); in pfioctl_ioc_ruleset()
4152 ruleset = NULL; in pfioctl_ioc_ruleset()