PF relies heavily on BSD kernel internals, (..mbufs for example, the BSD representation of network packets/buffers).
It's not an easy task to port something that's intimately part of the kernel, it's far reaching, even the FreeBSD/NetBSD ports of PF are based on an earlier version.
A lot of projects have their own packet filters, adapting another would probably be counterproductive.. and in some cases, it would be a full rewrite.
|