I've sent this some time ago to misc@, but didn't get much response. I thought I might try the pf specific list.
While working on my own tool, rpfcd (remote pf control dameon, http://www.insecure.dk/rpfcd/) I found myself reusing a lot of code from pfctl for pf(4) related routines. While some of stuff is rather straighforward, some other (like printing filter rules, i.e. pfctl -sr) is quite hard. A library implementing these commonly used routines, integrated/developed in the official tree, would help a lot. Userland tools would have a common framework for manipulating pf(4). Eg. pfctl would be much smaller, including other tools like newly introduced pftop and my own utility rpfcd. And yes, I'm aware of libdnet. However, this is not pf specific and is lacking a lot of features and is broken most of the time, since a lot changes are happening to pf(4) code. What do you think about this? // haver