From 301502b518ec9e6f241d3089e2c50cb9b5e4187a Mon Sep 17 00:00:00 2001 From: Gerald Combs Date: Wed, 29 Dec 1999 21:33:06 +0000 Subject: Add sample strace output to illustrate the timeout problem. svn path=/trunk/; revision=1395 --- README.linux | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'README.linux') diff --git a/README.linux b/README.linux index 7607306bfc..bb0efe3edb 100644 --- a/README.linux +++ b/README.linux @@ -1,4 +1,4 @@ -$Id: README.linux,v 1.1 1999/08/31 06:09:25 gram Exp $ +$Id: README.linux,v 1.2 1999/12/29 21:33:06 gerald Exp $ The standard libpcap compiled for Linux has a timeout problem. If you use Ethereal with this libpcap on a not-so-busy network, at @@ -14,3 +14,20 @@ Libpcap can be obtained from ftp://ftp.ee.lbl.gov You can download the Linux patch at http://ethereal.zing.org/~gerald/ +Modified RedHat 6.0 and 6.1 libpcap RPMs are available at +ftp://ethereal.zing.org/pub/ethereal/rpms + + +To illustrate the problem, below is the output of strace on Ethereal +using a stock version of libpcap, followed by a "fixed" version. +Note that in the "fixed" version select() is called before recvfrom(). +The use of select() allows the packet capture to time out if there is +no incoming data. + +30677 08:30:30 poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}], 2, 0) = 0 +30677 08:30:30 recvfrom(8, "\0\20{\357;\333\10\0 }\200\302\10\0E\0\0(\22\23@\0\377"..., 65535, 0x20, {sa_family=17, sa_data="\10\0\0\0\0\2\0\1\3\6\10\0 }"}, [20]) = 60 + +30914 09:05:48 poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}], 2, 0) = 0 +30914 09:05:48 select(9, [8], NULL, NULL, {0, 250000}) = 1 (in [8], left {0, 250000}) +30914 09:05:48 recvfrom(8, "\10\0 }\200\302\0\20{\357;\333\10\0E\10\5\334-\323@\0\363"..., 65535, 0x20, {sa_family=17, sa_data="\10\0\0\0\0\2\0\1\3\6\0\20{\357"}, [20]) = 1514 + -- cgit v1.2.1