misc/152148: vnet_pfil_init() happens too late if
pfil_head_register() is called from if_ethersubr.c
John A. Murphy
murf at perftech.com
Thu Nov 11 21:10:06 UTC 2010
>Synopsis: vnet_pfil_init() happens too late if pfil_head_register() is called from if_ethersubr.c
>Arrival-Date: Thu Nov 11 21:10:05 UTC 2010
>Originator: John A. Murphy
FreeBSD freebsd64.perftech.com 8.1-RELEASE FreeBSD 8.1-RELEASE #12: Fri Oct 29 14:07:28 CDT 2010
root at freebsd64.perftech.com:/usr/obj/usr/src/sys/GENERIC amd64
I'd like to add a pfil_hook in if_ethersubr.c, similar to the one in NetBSD, but
vnet_pfil_init() happens AFTER ether_ifattach(), so the filter registered in either_ifattach()is lost when vnet_pfil_init() invokes LIST_INIT(&V_pfil_head_list).
Build a kernel that registers a pfil_hook in ether_ifattach() and load a module that tries to use that filter. OR --- look at the code and take my word for it.
Unknown --- maybe change order of execution.
More information about the freebsd-bugs