From owner-freebsd-hackers@FreeBSD.ORG Mon Sep 8 00:40:09 2003 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 90B6416A4BF for ; Mon, 8 Sep 2003 00:40:09 -0700 (PDT) Received: from woozle.rinet.ru (woozle.rinet.ru [195.54.192.68]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8866D43FAF for ; Mon, 8 Sep 2003 00:40:08 -0700 (PDT) (envelope-from marck@rinet.ru) Received: from localhost (localhost [127.0.0.1]) by woozle.rinet.ru (8.12.9/8.12.9) with ESMTP id h887e6qv055857; Mon, 8 Sep 2003 11:40:06 +0400 (MSD) (envelope-from marck@rinet.ru) Date: Mon, 8 Sep 2003 11:40:06 +0400 (MSD) From: Dmitry Morozovsky To: Lev Walkin In-Reply-To: <3F5BB991.2050601@netli.com> Message-ID: <20030908113632.R55683@woozle.rinet.ru> References: <20030907233940.M18589@woozle.rinet.ru> <3F5BB991.2050601@netli.com> X-NCC-RegID: ru.rinet MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-424612981-1063006806=:55683" cc: hackers@freebsd.org Subject: Re: if bpf fd's select()able? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Sep 2003 07:40:09 -0000 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-424612981-1063006806=:55683 Content-Type: TEXT/PLAIN; charset=US-ASCII On Sun, 7 Sep 2003, Lev Walkin wrote: LW> > [all below is for 4-STABLE] LW> > LW> > I'm trying to write effective arp scanner for multi-interface router (esp. LW> > multi-vlan); I plan to use multiple bpf devices attached to different LW> > interfaces emitting ARP requests and filters listening to ARP replies; the most LW> > natural way to multiplex them for me is select(). LW> > LW> > However, my tests show that select()ing bpf fd does not lead to trigger packets LW> > available to bpf filter; the process hangs in select state while parallel LW> > tcpdump process shows packets desired *and* is in bpf state. LW> > LW> > Am I missing something "base"? References (surely, I'd already read LW> > manpages for bpf, pcap and related -- but did I still missed something LW> > serious?) would be greatly appreciated. LW> LW> Yes, you're missing the interactive mode. LW> Refer to BIOCIMMEDIATE in the bpf(4) manual page. Unfortunately not ;-) My test program chich I suppose should catch any ARP packets around attached. Sincerely, D.Marck [DM5020, MCK-RIPE, DM3-RIPN] ------------------------------------------------------------------------ *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck@rinet.ru *** ------------------------------------------------------------------------ --0-424612981-1063006806=:55683 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="bpfarpreply.c" Content-Transfer-Encoding: BASE64 Content-ID: <20030908114006.N55683@woozle.rinet.ru> Content-Description: bpfarp.c Content-Disposition: attachment; filename="bpfarpreply.c" I2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUgPHN5cy9pb2N0bC5o Pg0KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCiNpbmNsdWRlIDxzeXMvdGlt ZS5oPg0KDQojaW5jbHVkZSA8bmV0L2JwZi5oPg0KI2luY2x1ZGUgPG5ldC9p Zi5oPg0KI2luY2x1ZGUgPG5ldC9pZl9hcnAuaD4NCiNpbmNsdWRlIDxuZXQv ZXRoZXJuZXQuaD4NCiNpbmNsdWRlIDxuZXRpbmV0L2luLmg+DQojaW5jbHVk ZSA8bmV0aW5ldC9pZl9ldGhlci5oPg0KDQojaW5jbHVkZSA8ZXJyLmg+DQoj aW5jbHVkZSA8ZmNudGwuaD4NCiNpbmNsdWRlIDxzdHJpbmcuaD4NCiNpbmNs dWRlIDx1bmlzdGQuaD4NCiNpbmNsdWRlIDxzdGRpby5oPg0KDQovKiBicGYg RlNNIHRvIGZpbHRlciBvbmx5IEFSUCByZXF1ZXN0cyAqLw0KLyoNCnN0cnVj dCBicGZfaW5zbiBpbnNuc1tdID0gew0KCUJQRl9TVE1UKEJQRl9MRCtCUEZf SCtCUEZfQUJTLCBFVEhFUl9BRERSX0xFTioyKSwNCglCUEZfSlVNUChCUEZf Sk1QK0JQRl9KRVErQlBGX0ssIEVUSEVSVFlQRV9BUlAsIDAsIDMpLA0KCUJQ Rl9TVE1UKEJQRl9MRCtCUEZfSCtCUEZfQUJTLCAyMCksDQoJQlBGX0pVTVAo QlBGX0pNUCtCUEZfSkVRK0JQRl9LLCBBUlBPUF9SRVFVRVNULCAwLCAxKSwN CglCUEZfU1RNVChCUEZfUkVUK0JQRl9LLCBzaXplb2Yoc3RydWN0IGV0aGVy X2FycCkgKw0KCQlzaXplb2Yoc3RydWN0IGV0aGVyX2hlYWRlcikpLA0KCUJQ Rl9TVE1UKEJQRl9SRVQrQlBGX0ssIDApLA0KfTsqLw0Kc3RydWN0IGJwZl9p bnNuIGluc25zW10gPSB7DQoJQlBGX1NUTVQoQlBGX0xEK0JQRl9IK0JQRl9B QlMsIEVUSEVSX0FERFJfTEVOKjIpLA0KCUJQRl9KVU1QKEJQRl9KTVArQlBG X0pFUStCUEZfSywgRVRIRVJUWVBFX0FSUCwgMCwgMSksDQoJQlBGX1NUTVQo QlBGX1JFVCtCUEZfSywgc2l6ZW9mKHN0cnVjdCBldGhlcl9hcnApICsNCgkJ c2l6ZW9mKHN0cnVjdCBldGhlcl9oZWFkZXIpKSwNCglCUEZfU1RNVChCUEZf UkVUK0JQRl9LLCAwKSwNCn07DQoNCnN0cnVjdCBicGZfcHJvZ3JhbSAgYnBm X2FycHJlcGx5ID0gew0KCXNpemVvZihpbnNucykgLyBzaXplb2Yoc3RydWN0 IGJwZl9pbnNuKSwNCglpbnNucw0KfTsNCg0KI2RlZmluZSBCVUZTWiA0MDk2 DQpzdGF0aWMgY2hhciBidWZbQlVGU1pdOw0KDQppbnQgbWFpbihpbnQgYXJn YywgY2hhciAqYXJndltdKQ0Kew0KCWludCBmZCwgc3o7DQoJdV9pbnQgeWVz Ow0KCWNoYXIgKmJwZm4sICppZm5hbWU7DQoJZmRfc2V0IGZkczsNCglzdHJ1 Y3QgaWZyZXEgaWZyOw0KDQoJYnBmbiA9ICIvZGV2L2JwZjEiOw0KCWlmbmFt ZSA9ICJybDAiOw0KDQoJaWYgKChmZCA9IG9wZW4oYnBmbiwgT19SRFdSKSkg PT0gLTEpDQoJCWVycigxLCAiY2FuJ3Qgb3BlbiAlcyIsIGJwZm4pOw0KCXN0 cm5jcHkoaWZyLmlmcl9uYW1lLCBpZm5hbWUsIHNpemVvZihpZnIuaWZyX25h bWUpKTsNCglpZiAoaW9jdGwoZmQsIEJJT0NTRVRJRiwgJmlmcikgPT0gLTEp DQoJCWVycigxLCAiY2FuJ3QgYXR0YWNoIHRvICVzIiwgaWZuYW1lKTsNCglp ZiAoaW9jdGwoZmQsIEJJT0NTRVRGLCAmYnBmX2FycHJlcGx5KSA9PSAtMSkN CgkJZXJyKDEsICJjYW4ndCBzZXQgQVJQIHJlcGx5IGZpbHRlciIpOw0KDQoJ aWYgKGlvY3RsKGZkLCBCSU9DUFJPTUlTQywgTlVMTCkgPT0gLTEpDQoJCWVy cigxLCAiY2FuJ3Qgc2V0IHByb21pc2MgbW9kZSIpOw0KCWlmIChpb2N0bChm ZCwgQklPQ0lNTUVESUFURSwgJnllcykgPT0gLTEpDQoJCWVycigxLCAiY2Fu J3Qgc2V0IElNTUVESUFURSBtb2RlIik7DQoNCglGRF9aRVJPKCZmZHMpOw0K CUZEX1NFVChmZCwgJmZkcyk7DQoJd2hpbGUgKHNlbGVjdCgxLCAmZmRzLCBO VUxMLCBOVUxMLCBOVUxMKSAhPSAtMSkgew0KCQkvKiBGRF9JU1NFVChmZCwg ZmRzKSBpcyBhbHdheXMgMSBoZXJlICovDQoJCXByaW50Zigid2UgaGF2ZSBw YWNrZXQgdG8gcmVhZCEiKTsNCgkJc3ogPSByZWFkKGZkLCBidWYsIEJVRlNa KTsNCgkJcHJpbnRmKCIgaXRzIGxlbiBpcyAlZCBieXRlcyFcbiIsIHN6KTsN Cgl9DQoNCgljbG9zZShmZCk7DQoJcmV0dXJuIDA7DQp9DQo= --0-424612981-1063006806=:55683--