Date: Tue, 15 Jan 2002 12:05:31 +0200 From: Ruslan Ermilov <ru@FreeBSD.ORG> To: Luigi Rizzo <rizzo@icir.org> Cc: chkno@dork.com, freebsd-ipfw@FreeBSD.ORG Subject: Re: ip_dummynet.c:"*** OUCH! pipe should have been idle!" Message-ID: <20020115120531.C46269@sunbay.com> In-Reply-To: <20020114145849.A70496@iguana.icir.org> References: <20020114141539.A70340@iguana.icir.org> <200201142246.g0EMkXC05128@chk.phattydomain.com> <20020114145849.A70496@iguana.icir.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jan 14, 2002 at 02:58:49PM -0800, Luigi Rizzo wrote: > > Rules 49 & 51 are in place because of my other issue. By setting > > the pipe's queue value to less than 20 slots I can make rule 51 > > count orders of magnitude more packets than rule 49. I was wondering > > if this was standard behavior. The problem seems to dissapear as > > long as I keep the pipe queue large. See -questions for that thread. > > I have an explaination for this. > > When the queue overflows, you get an ENOBUFS error, which natd > detects and handles by retransmitting the packet at a later time > (not a very good idea, I'd say that natd should just drop the packet > in this case. The "fix" might be trapping the ENOBUFS error in > usr/src/sbin/natd.c:FlushPacketBuffer() and returning as if the > transmission was successful). > ENOBUFS may be returned by sendto(2) when no socket buffer space is available. In this case, natd(8) retransmits the packet only after select(2) says that the socket is writable again. Dropping the packet in this case would be bogus, and natd.c has fixed this in revision 1.2. > > > Also, if the problem is easily reproducible, please > > > let me know if you are interested in testing some patches > > > > The OUCH event is not reproduceable. It happened in the middle of > > the night, & has only happened once so far. > > eh, then all i can say is wait and see if it happens again... > in the meantime i will have a closer look at the code. > > > The large port range issue seems more related to ipfw than dummynet, > > i am not sure what is the issue there... do thing work if you > reduce the upper limit to 65534 ? In this case it might just be > a problem with unsigned short comparisons... > Also, does the open right bound work, like "49192-"? Cheers, -- Ruslan Ermilov Oracle Developer/DBA, ru@sunbay.com Sunbay Software AG, ru@FreeBSD.org FreeBSD committer, +380.652.512.251 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ipfw" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020115120531.C46269>
