Subject: Re: adding an 802.11 data link type
To: None <dyoung@pobox.com>
From: Bill Studenmund <wrstuden@netbsd.org>
List: tech-net
Date: 08/08/2002 12:32:14
On Wed, 7 Aug 2002, David Young wrote:

> Bill,
>
> After an interface bpf_attach()'s, BPF has a pointer to the interface,
> however, BPF will not set the interface's back pointer (if_bpf) until
> there is at least one listener. The back pointer is zeroed when the last
> listener disconnects.
>
> When BPF has one struct bpf_if per DLT, and an interface has one back
> pointer per DLT, each back pointer is set only when there is a listener
> for that DLT. Also, each back pointer is cleared when the last listener
> for that DLT detaches.
>
> Make sense so far?

Yep.

> So, in sum, when there are no listeners, the overhead for first, second,
> and third DLTs is only the cost of comparing those back pointers to
> NULL. I think NetBSD can afford that.

Ok. This then sounds like a good way to go.

We don't need a sperate call type, as the multiple pointers have done the
selecting for us.

Take care,

Bill