Re: pfil_add_ihook() with PFIL_IFNET

Ethan Miller <[email protected]>
Newsgroups gmane.os.netbsd.devel.kernel
Message-ID <CAOxftLQDrxOLOojzJQq05=cpN6xKD_cTA7MM=Z6xcz-Xjkv6CA@mail.gmail.com>
> But, surely, it seems to me the simple thing to do is to just grep for
> PFIL_IFNET_ATTACH and PFIL_IFNET_DETACH and look at the surrounding
> code to see what circumstances they're used in.

Yea just a quick look, they only really appear here.

src/sys/net/if.c:755: pfil_run_ifhooks(if_pfil, PFIL_IFNET_ATTACH, ifp);
src/sys/net/if.c:1527: pfil_run_ifhooks(if_pfil, PFIL_IFNET_DETACH, ifp);

Which are both within *if_initialize* and *if_detatch* respectively, and
those methods are only called to either attach or detach an interface of
some kind, virtual interfaces as well. Something else interesting, looks
like when a device driver initialises itself, it defines an object of
type *struct
cfattach* by usually invoking some variant of the *CFATTACH_DECL_NEW*
macro. And within this structure are a bunch of methods, and what concerns
us is *ca_detach* and *ca_attach*, so I guess that is kinda the bottom of
the chain.


On Mon, Mar 24, 2025 at 2:37 PM Mouse <[email protected]> wrote:

> > when I create hook with parameter PFIL_IFNET what actions should
> > invoke hook with PFIL_IFNET_ATTACH or PFIL_IFNET_DETACH ?
>
> I don't actually know, though my guess would be an interface attaching
> or detaching (eg, USB Ethernet plugged in or removed).
>
> But, surely, it seems to me the simple thing to do is to just grep for
> PFIL_IFNET_ATTACH and PFIL_IFNET_DETACH and look at the surrounding
> code to see what circumstances they're used in.
>
> /~\ The ASCII                             Mouse
> \ / Ribbon Campaign
>  X  Against HTML                [email protected]
> / \ Email!           7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.