Subject: Re: adding an 802.11 data link type
To: None <email@example.com>
From: Atsushi Onoe <firstname.lastname@example.org>
Date: 08/08/2002 10:26:21
> I've been quiet on this for a while but no longer. :)
Thanks for appearing the stage:-)
> Since BPF gives the driver an opaque hook into the interface, if_bpf, there's
> no need to change that part of the driver interface. What you really want
> are additional bpf calls,
> bpf_tap2(caddr_t if_bpf, caddr_t ptr, size_t len, int flags)
> bpf_mtap2(caddr_t if_bpf, struct mbuf *m0, int flags)
> We will define flags so the bottom 16 bits are reserved for passing an
> optional DLT type. Then if you need special processing, you can just do
> bpf_map2(ifp->if_bpf, m0, DLT_IEEE80211B | DLF_RX);
This interface will introduce the exact problem which Bill pointed out.
How the driver reduces to pass the packet to bpf.
Since if_bpf is an opaque, the driver should call twice or three times to
pass the packet to bpf if the bpf listenr just want to DLT_EN10MB.