Hello, I've sent different patch [1], which was touching same functions some time ago. The old patch [1] basically splits pf_test_rule() to two functions: pf_test_rule()
pf_match_rule(), which walks anchor stack recursively. the recursion depth is limited to 64. the memory foot print for true recursion is same as for array of stack frames. The only difference comes from the place where the memory gets allocated. regards sasha [1] https://marc.info/?l=openbsd-tech&m=143902905917671&w=4