From owner-freebsd-hackers@FreeBSD.ORG Thu Jan 24 11:00:49 2008 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7E07A16A420; Thu, 24 Jan 2008 11:00:49 +0000 (UTC) (envelope-from kris@FreeBSD.org) Received: from weak.local (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id A75F813C4DD; Thu, 24 Jan 2008 11:00:47 +0000 (UTC) (envelope-from kris@FreeBSD.org) Message-ID: <47986FDE.3030402@FreeBSD.org> Date: Thu, 24 Jan 2008 12:00:46 +0100 From: Kris Kennaway User-Agent: Thunderbird 2.0.0.9 (Macintosh/20071031) MIME-Version: 1.0 To: Stefan Lambrev References: <4795CC13.7080601@moneybookers.com> <4795FE54.9090606@moneybookers.com> <86lk6i0vzk.fsf@ds4.des.no> <479605E2.6070709@moneybookers.com> <47964356.6030602@moneybookers.com> <479647FB.3070909@FreeBSD.org> <47970EE2.5000400@moneybookers.com> <479754E6.1060101@moneybookers.com> <9bbcef730801230802n5c52832bk60c6afc47be578f4@mail.gmail.com> <479794DB.4020504@FreeBSD.org> <47985936.2030705@moneybookers.com> In-Reply-To: <47985936.2030705@moneybookers.com> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org, Ivan Voras Subject: Re: gettimeofday() in hping X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Jan 2008 11:00:49 -0000 Stefan Lambrev wrote: >> It is the socket buffer that is filling up. Either the application is >> not increasing it to large enough size or the default maximum is too >> low (Linux may set a larger default). Try increasing >> kern.ipc.maxsockbuf and confirming with the source and/or ktrace that >> it is doing the right setsockopt() call. > Increasing kern.ipc.maxsockbuf doesn't help. > > Actually this is the code that failed and print this error: > > result = sendto(sockraw, packet, packetsize, 0, > (struct sockaddr*)&remote, sizeof(remote)); > > if (result == -1 && errno != EINTR && !opt_rand_dest && > !opt_rand_source) { > perror("[send_ip] sendto"); > > Those are the only references for setsockopt when ktracing: > 3385 hping CALL __sysctl(0xbfbfe870,0x6,0,0xbfbfe888,0,0) > 3385 hping RET __sysctl 0 > 3385 hping CALL __sysctl(0xbfbfe870,0x6,0x28305180,0xbfbfe888,0,0) > 3385 hping RET __sysctl 0 > 3385 hping CALL socket(PF_INET,SOCK_DGRAM,IPPROTO_IP) > 3385 hping RET socket 3 > 3385 hping CALL setsockopt(0x3,SOL_SOCKET,SO_BROADCAST,0xbfbfe884,0x4) > 3385 hping RET setsockopt 0 > 3385 hping CALL connect(0x3,0x8067da0,0x10) > 3385 hping RET connect 0 > 3385 hping CALL getsockname(0x3,0xbfbfe874,0xbfbfe888) > 3385 hping RET getsockname 0 > 3385 hping CALL close(0x3) > 3385 hping RET close 0 > 3385 hping CALL socket(PF_INET,SOCK_RAW,IPPROTO_RAW) > 3385 hping RET socket 3 > 3385 hping CALL setsockopt(0x3,SOL_SOCKET,SO_BROADCAST,0xbfbfe914,0x4) > 3385 hping RET setsockopt 0 > 3385 hping CALL setsockopt(0x3,0,0x2,0xbfbfe914,0x4) > 3385 hping RET setsockopt 0 > 3385 hping CALL open(0xbfbfe8a4,O_RDWR,0) > 3385 hping NAMI "/dev/bpf0" > 3385 hping RET open -1 errno 16 Device busy > 3385 hping CALL open(0xbfbfe8a4,O_RDWR,0) > 3385 hping NAMI "/dev/bpf1" > 3385 hping RET open 4 OK, try adding the setsockopt(...SO_SNDBUF...) call. Kris