pfil on bridge interface, looking for ether_header

Andrew Thompson thompsa at freebsd.org
Fri Nov 3 01:52:21 UTC 2006


On Thu, Nov 02, 2006 at 05:45:50PM -0800, Kevin Sanders wrote:
> I've written a kernel module that has pfil_add_hook'ed into the pfil
> framework.  When my input packet filter function is called, I can
> mtod(*m, struct IP *) to the IP header, but haven't found a way to
> find the original ethernet header.  (*m)->m_pkthdr.header always seems
> to be NULL (I'm not even sure what it's used for but I gave it try).
> Any advice sure would be welcome, thanks in advance.

If you look in if_bridge.c:bridge_pfil you will see that the ethernet
header is stripped from the mbuf before passing to pfil. You may want to
create another hook such as ether_pfil_hook and modify the bridge to use
it. Alternatively see the recent discussion between Julian and Andre on
the matter.


cheers,
Andrew


More information about the freebsd-net mailing list