rule matching walk the tailq pf_test_rule() original: until last match, that rule decides everything now: "match" rules, intermediate matches, with actions remember which rules matched remember actions pf_rule_to_actions() remember rewriting address(es) apply tags log