Lines Matching refs:ruleset
80 #define pf_main_ruleset pf_main_anchor.ruleset
130 pf_init_ruleset(struct pfctl_ruleset *ruleset) in pf_init_ruleset() argument
134 memset(ruleset, 0, sizeof(struct pfctl_ruleset)); in pf_init_ruleset()
136 TAILQ_INIT(&ruleset->rules[i].queues[0]); in pf_init_ruleset()
137 TAILQ_INIT(&ruleset->rules[i].queues[1]); in pf_init_ruleset()
138 ruleset->rules[i].active.ptr = &ruleset->rules[i].queues[0]; in pf_init_ruleset()
139 ruleset->rules[i].inactive.ptr = &ruleset->rules[i].queues[1]; in pf_init_ruleset()
170 return (&anchor->ruleset); in pf_find_ruleset()
177 struct pfctl_ruleset *ruleset; in pf_find_or_create_ruleset() local
184 ruleset = pf_find_ruleset(path); in pf_find_or_create_ruleset()
185 if (ruleset != NULL) in pf_find_or_create_ruleset()
186 return (ruleset); in pf_find_or_create_ruleset()
193 if ((ruleset = pf_find_ruleset(p)) != NULL) { in pf_find_or_create_ruleset()
194 parent = ruleset->anchor; in pf_find_or_create_ruleset()
253 pf_init_ruleset(&anchor->ruleset); in pf_find_or_create_ruleset()
254 anchor->ruleset.anchor = anchor; in pf_find_or_create_ruleset()
262 return (&anchor->ruleset); in pf_find_or_create_ruleset()
266 pf_remove_if_empty_ruleset(struct pfctl_ruleset *ruleset) in pf_remove_if_empty_ruleset() argument
271 while (ruleset != NULL) { in pf_remove_if_empty_ruleset()
272 if (ruleset == &pf_main_ruleset || ruleset->anchor == NULL || in pf_remove_if_empty_ruleset()
273 !RB_EMPTY(&ruleset->anchor->children) || in pf_remove_if_empty_ruleset()
274 ruleset->anchor->refcnt > 0 || ruleset->tables > 0 || in pf_remove_if_empty_ruleset()
275 ruleset->topen) in pf_remove_if_empty_ruleset()
278 if (!TAILQ_EMPTY(ruleset->rules[i].active.ptr) || in pf_remove_if_empty_ruleset()
279 !TAILQ_EMPTY(ruleset->rules[i].inactive.ptr) || in pf_remove_if_empty_ruleset()
280 ruleset->rules[i].inactive.open) in pf_remove_if_empty_ruleset()
282 RB_REMOVE(pfctl_anchor_global, &V_pf_anchors, ruleset->anchor); in pf_remove_if_empty_ruleset()
283 if ((parent = ruleset->anchor->parent) != NULL) in pf_remove_if_empty_ruleset()
285 ruleset->anchor); in pf_remove_if_empty_ruleset()
286 rs_free(ruleset->anchor); in pf_remove_if_empty_ruleset()
289 ruleset = &parent->ruleset; in pf_remove_if_empty_ruleset()
294 pf_remove_if_empty_eth_ruleset(struct pfctl_eth_ruleset *ruleset) in pf_remove_if_empty_eth_ruleset() argument
299 while (ruleset != NULL) { in pf_remove_if_empty_eth_ruleset()
300 if (ruleset == &pf_eth_main_anchor.ruleset || in pf_remove_if_empty_eth_ruleset()
301 ruleset->anchor == NULL || ruleset->anchor->refcnt > 0) in pf_remove_if_empty_eth_ruleset()
303 if (!TAILQ_EMPTY(&ruleset->rules)) in pf_remove_if_empty_eth_ruleset()
305 rs_free(ruleset->anchor); in pf_remove_if_empty_eth_ruleset()
308 ruleset = &parent->ruleset; in pf_remove_if_empty_eth_ruleset()
313 pf_init_eth_ruleset(struct pfctl_eth_ruleset *ruleset) in pf_init_eth_ruleset() argument
316 memset(ruleset, 0, sizeof(*ruleset)); in pf_init_eth_ruleset()
317 TAILQ_INIT(&ruleset->rules); in pf_init_eth_ruleset()
330 TAILQ_FOREACH(r, &anchor->ruleset.rules, entries) { in _pf_find_eth_anchor()
357 return (&pf_eth_main_anchor.ruleset); in pf_find_eth_ruleset()
362 return (&anchor->ruleset); in pf_find_eth_ruleset()
369 struct pfctl_eth_ruleset *ruleset; in pf_find_or_create_eth_ruleset() local
373 return (&pf_eth_main_anchor.ruleset); in pf_find_or_create_eth_ruleset()
376 ruleset = pf_find_eth_ruleset(path); in pf_find_or_create_eth_ruleset()
377 if (ruleset != NULL) in pf_find_or_create_eth_ruleset()
378 return (ruleset); in pf_find_or_create_eth_ruleset()
385 if ((ruleset = pf_find_eth_ruleset(p)) != NULL) { in pf_find_or_create_eth_ruleset()
386 parent = ruleset->anchor; in pf_find_or_create_eth_ruleset()
422 pf_init_eth_ruleset(&anchor->ruleset); in pf_find_or_create_eth_ruleset()
423 anchor->ruleset.anchor = anchor; in pf_find_or_create_eth_ruleset()
431 return (&anchor->ruleset); in pf_find_or_create_eth_ruleset()
439 struct pfctl_ruleset *ruleset; in pfctl_anchor_setup() local
479 ruleset = pf_find_or_create_ruleset(path); in pfctl_anchor_setup()
481 if (ruleset == NULL || ruleset->anchor == NULL) { in pfctl_anchor_setup()
485 r->anchor = ruleset->anchor; in pfctl_anchor_setup()
495 struct pfctl_eth_ruleset *ruleset; in pfctl_eth_anchor_setup() local
530 ruleset = pf_find_or_create_eth_ruleset(path); in pfctl_eth_anchor_setup()
532 if (ruleset == NULL || ruleset->anchor == NULL) { in pfctl_eth_anchor_setup()
536 r->anchor = ruleset->anchor; in pfctl_eth_anchor_setup()