Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Jan 2002 02:13:34 -0800
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Joao Carlos <jcrrbr@yahoo.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: No buffer space avaliable
Message-ID:  <3C4E8CCE.786CD69@mindspring.com>
References:  <003901c1a3f5$07c9b860$e7ccb0c8@pchome>

next in thread | previous in thread | raw e-mail | index | archive | help
Joao Carlos wrote:
> First of all, i sent this message to -questions but nobody answered, so=
 I
> thought i have to send  the gurus :). Please, anyone that can help read=
 all
> the message (sorry for taking so long, but i tried to specify ALL the
> problem).

It probably belongs on -net, if it didn't belong on -questions;
in any case, the other mailing lists are not an escalation path
for non-responsiveness on -questions.


> I=B4m having a curious and horrible problem.
> I'm running a FreeBSD 4.4-R in a PIII 1.0Ghz 128MB RAM.
> This machine acts only as a router with natd.
> The problem is that when I ping a determined IP address (for example,
> 12.12.12.12) that is a certain machine on my network, it gives me a no
> buffer space avaliable error.
> =

> ping: sendto: No buffer space available

You have used up all the send buffers you are allowed to use
up in order to send the ping packets out.

This happens when the route becomes invalid, and you pack up
a huge number of packets on the route (e.g. when you are
pinging your default gateway, and it goes away, or when you
are pinging a remote host on the other side of your default
gateway, and it goes away).  An easy way to recreate this is
to start up a ping to say 16.1.0.2 (gatekeeper.dec.com) on a
machine connected via PPP, with the modem unplugged.

> I turned off the 12.12.12.12 machine, so i expected that the ping only
> I cannot think in anything that can cause this. MANY other clients are =
in
> the same physical network, pinging to the same NIC and have no trouble.=


The answer is that if it is your default gateway, then set up
a static route to it, so that it's on the "local wire", so
the the packets will be sent to the local wire, freeing up the
mbufs, instead of forwarded through a down route, which will
keep the mbufs for sending when the route comes back up.

Arguably, there should be an administrative failure as a
result of an administrative queue depth limit on routes
that are down, so that you can't shoot yourself in the foot
like this.

Alternately, don't aim the gun at your foot in the first
place, and you'll never have the problem, either.

-- Terry

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3C4E8CCE.786CD69>