Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Feb 2002 17:24:44 -0800
From:      Luigi Rizzo <rizzo@icir.org>
To:        Marcel de Vries <mdevries@haveityourway.nl>
Cc:        freebsd-net@FreeBSD.ORG
Subject:   Re: network buffer problem
Message-ID:  <20020218172444.C22456@iguana.icir.org>
In-Reply-To: <5.1.0.14.2.20020219013744.01dab338@outshine>
References:  <5.1.0.14.2.20020218224119.01faca88@outshine> <5.1.0.14.2.20020219013744.01dab338@outshine>

next in thread | previous in thread | raw e-mail | index | archive | help
Ok, I have refrained from jumping into this thread but
the noise is increasing  and I think some clarifications are
really necessary now.

First of all: at various levels in the protocol stack, when
a packet cannot be forwarded to the next layer, more often
than not a ENOBUFS error is returned, which is propagated back
and then printed by perror() as "no buffer space available".

One of this situations is when a dummynet pipe fills up. So the
test you report below with dummynet is telling absolutely nothing,
and certainly it does not show an error or configuration problem.

Second: ping makes no use of tcp, so changing the
net.inet.tcp.{sendspace,recvspace} values has no [direct] impact
on the behaviour of your ping.

What I suspect is happening is that mpd is saturating either
the divert socket queue (if you look in netinet/ip_divert.c,
this size is fixed to 64k), or the buffer on the "tun" interface.

My understanding stops here... if you can summarise
what is the problem you were having initially, maybe i
can give more details.

	cheers
	luigi

On Tue, Feb 19, 2002 at 01:43:41AM +0100, Marcel de Vries wrote:

> Well it could be mpd, but my good old friend ;-) tested a view things.
> 
> First he used DUMMYNET to simulate his ADSL connection in a LAN environment 
> (100baseT)
> 
> So he put in some packet loss and bandwidth limitations on his LAN and 
> started pinging some hosts. He gets the same result of packets being lost 
> with the message 'no buffer space available'. So in this way mpd wasn't 
> used at all. This makes sense right. Could it be a configuration problem or 
> a really hard to think IP stack problem?
> 
> He was very sure to me about not having these problems when using previous 
> versions of FreeBSD before release 4.5.
> 
> I don't know if that's true.
> And most of the IP traffic is no problem at all, things that definitely cut 
> the chase is to be generating a lot of UDP traffic like games do. This 
> buffer seems to be running wild from that type of traffic.
> 
> Tonight we lowered the following value's
> net.inet.tcp.sendspace: 16384
> net.inet.tcp.recvspace: 16384
> 
> We started gaming like for more then a hour and no problems at all.
> But I think it was not long enough.
> 
> But I hope this is useful: To recover from a total down of the internet 
> connection, I need to restart mpd. Mpd was patched to start the following 
> script when executed.
> 
> #!/bin/sh
> INTERFACE=$1
> PROTOCOL=$2
> LOCAL=$3
> REMOTE=$4
> 
> /sbin/route delete default
> /sbin/ifconfig ng0 mtu 1492
> /sbin/route add default $REMOTE
> 
>  [ -x /sbin/ipnat ] && /sbin/ipnat -CF -f /etc/ipnat.conf && ipf -y && 
> echo -n 'ipnat'
> 
> /usr/bin/killall -HUP inetd
> /usr/bin/killall snort
> /bin/sleep 15 && /usr/local/bin/snort -i ng0 -p -o -D -c 
> /usr/local/etc/snort/snort.conf &
> 
> So what kind of buffer would hit hs max limit and will be reset by this 
> action?
> not nmb thats for sure, when check netstat -m everything seems normal.
> 
> You see the mtu option in the script, there where dutch people having 
> trouble with there ADSL mxstream connection regarding with use of mpd on 
> the FreeBSD box. 'No buffer' messages also appeared for those users not for 
> all. To alter the MTU helped in some cases.
> 
> But I think that's not true, because when extremely using bandwidth like 
> listen from streaming media and simultaneously pinging a host you could 
> generate the message without any problems.
> 
> And the message no buffer space available is not only a warning. It's heavy 
> packet loss and that's a thing nobody wants to deal with.
> 
> I hope this will clear up a few things, and as I see more FreeBSD folks 
> replying on this subject something must be wrong in the world of IP BSD ;-)
> 
> Thanks,
> 
> Marcel de Vries
> 
> 
> 
> 
> 
> 
> 
> 
> 
> At 17:11 18-02-2002 +0000, Mike Silbersack wrote:
> 
> 
> >On Mon, 18 Feb 2002, Marcel de Vries wrote:
> >
> >> I really want to make a point, is it third party software 'mpd-3.7
> >> Multi-link PPP daemon based on netgraph(4)' that is causing this or is it
> >> something in the TCP/IP stack of BSD that is changed or the driver 
> >support.
> >>
> >> We had these problems in 4.3, 4.4 and still in 4.5.
> >>  From using mpd 3.1 to 3.7 nothing changed about our problem.
> >>
> >> I think it's an important notice why this is happening, because what if
> >> this is a real TCP/IP stack issue this would be very wrong and bad for 
> >FreeBSD.
> >>
> >> But I'm still no expert so I have to leave this open for the Pro BSD
> >> users/developers.
> >>
> >> Bye,
> >>
> >> Marcel
> >
> >If your friend with a different network card is having similar problems,
> >I'd guess that mpd-netgraph is where you should start investigating.
> >
> >However, as I have never used mpd-netgraph, I have no idea what you should
> >be looking at.  If by chance a mpd guru does not wander into this thread,
> >I suggest that you look through the old mailing list archives, see who
> >has had experience with it before, and drop them an e-mail.
> >
> >As far as your other question about natd slowing down... I believe that
> >someone was looking into that.  If he manages to find the bottleneck and
> >fix it, I suspect you'll see the announcement here.
> >
> >Mike "Silby" Silbersack
> >
> >
> >
> >
> >To Unsubscribe: send mail to majordomo@FreeBSD.org
> >with "unsubscribe freebsd-net" in the body of the message
> 
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-net" in the body of the message

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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020218172444.C22456>