if bpf fd's select()able?

Peter Pentchev roam at ringlet.net
Mon Sep 8 00:05:03 PDT 2003


On Sun, Sep 07, 2003 at 04:04:49PM -0700, Lev Walkin wrote:
> Dmitry Morozovsky wrote:
> >Dear colleagues,
> >
> >[all below is for 4-STABLE]
> >
> >I'm trying to write effective arp scanner for multi-interface router (esp.
> >multi-vlan); I plan to use multiple bpf devices attached to different
> >interfaces emitting ARP requests and filters listening to ARP replies; the 
> >most
> >natural way to multiplex them for me is select().
> >
> >However, my tests show that select()ing bpf fd does not lead to trigger 
> >packets
> >available to bpf filter; the process hangs in select state while parallel
> >tcpdump process shows packets desired *and* is in bpf state.
> >
> >Am I missing something "base"? References (surely, I'd already read
> >manpages for bpf, pcap and related -- but did I still missed something
> >serious?) would be greatly appreciated.
> 
> Yes, you're missing the interactive mode.
> 
> Refer to BIOCIMMEDIATE in the bpf(4) manual page.

Also, I believe that for a month or so bpf devices have been able to
issue kqueue notifications, too, so - at least for FreeBSD - the "most
natural" way might now be kqueue() and not select() :)

G'luck,
Peter

-- 
Peter Pentchev	roam at ringlet.net    roam at sbnd.net    roam at FreeBSD.org
PGP key:	http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint	FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
If wishes were fishes, the antecedent of this conditional would be true.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20030908/9a4767c2/attachment.bin


More information about the freebsd-hackers mailing list