PF: Interface abstraction solution: an extra layer of indirection, pfi_kif interface name pointer to struct ifnet NULL if the interface isn't there hooks in the stack: when a new interface shows up, attach the pf struct with the same name to it, or create a new one supporting groups is now easy - add a pointer to the group both pointers to interface and group NULL: detached pointer to interface or group there determines wether it is a group or an interface one of 'em must be NULL :)