From owner-freebsd-stable Tue Feb 4 0:22:35 2003 Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EACBE37B406 for ; Tue, 4 Feb 2003 00:22:32 -0800 (PST) Received: from smtp-relay.omnis.com (smtp-relay.omnis.com [216.239.128.27]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5C4EE43FB1 for ; Tue, 4 Feb 2003 00:22:31 -0800 (PST) (envelope-from wes@softweyr.com) Received: from [192.168.0.4] (66-75-151-22.san.rr.com [66.75.151.22]) by smtp-relay.omnis.com (Postfix) with ESMTP id 4695643623; Tue, 4 Feb 2003 00:17:33 -0800 (PST) Subject: Re: "ping: sendto: No buffer space available" From: Wes Peters To: Marko Zec Cc: Matthew Dillon , Peter Radcliffe , stable@FreeBSD.ORG In-Reply-To: <3E3F152D.6BE3A41B@tel.fer.hr> References: <20030203212349.GG12779@pir.net> <20030204003205.T30858@marvin.sko.mh.se> <20030204000108.GA23967@pir.net> <200302040027.h140RwI8038634@apollo.backplane.com> <3E3F152D.6BE3A41B@tel.fer.hr> Content-Type: text/plain Organization: Softweyr LLC Message-Id: <1044321375.358.66.camel@zaphod.softweyr.com> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.2.0 Date: 04 Feb 2003 01:16:15 +0000 Content-Transfer-Encoding: 7bit Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Tue, 2003-02-04 at 01:19, Marko Zec wrote: > Matthew Dillon wrote: > > > :Mats Larsson probably said: > > :> On a 4.4 box I got this error using some old ep(4) card, a card > > :> switch Solved my problems back then. If you have the possible then > > :> test with a different card. > > : > > :A different card isn't much use - it's the built in wireless. > > > > Check the queue statistics. It could be a queue overflow due to > > stalls in the wireless card accepting new packets, due to > > excessive collisions on a hard line. > > > > test2:/home/dillon> sysctl -a | fgrep ip.intr_qu > > net.inet.ip.intr_queue_maxlen: 50 > > net.inet.ip.intr_queue_drops: 0 > > Hmm... the issue here is with interface _outbound_ buffers, not with the IP > inbound queue. Despite ping / ip_output() claiming ENOBUFS, > net.inet.ip.intr_queue_drops will probably remain unchanged. netstat -s / > netstat -i would probably offer better diagnostics in this case. In particular, this is the warn() on line 786 of ping.c (4.7-R): 777 i = sendto(s, (char *)outpack, cc, 0, (struct sockaddr *)&whereto, 778 sizeof(whereto)); 779 780 if (i < 0 || i != cc) { 781 if (i < 0) { 782 if (options & F_FLOOD && errno == ENOBUFS) { 783 usleep(FLOOD_BACKOFF); 784 return; 785 } 786 warn("sendto"); 787 } else { 788 warn("%s: partial write: %d of %d bytes", 789 hostname, i, cc); 790 } 791 } The sendto() on line 777 failed because there is insufficient buffer space to buffer any more icmp packets. The usual reason for this is the machine you're attempting to ping can't be reached via whatever route you're using. -- Where am I, and what am I doing in this handbasket? Wes Peters wes@softweyr.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message