Date: 04 Feb 2003 01:16:15 +0000 From: Wes Peters <wes@softweyr.com> To: Marko Zec <zec@tel.fer.hr> Cc: Matthew Dillon <dillon@apollo.backplane.com>, Peter Radcliffe <pir@pir.net>, stable@FreeBSD.ORG Subject: Re: "ping: sendto: No buffer space available" Message-ID: <1044321375.358.66.camel@zaphod.softweyr.com> 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>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 2003-02-04 at 01:19, Marko Zec wrote: > Matthew Dillon wrote: > > > :Mats Larsson <myrslok@marvin.sko.mh.se> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1044321375.358.66.camel>