Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Jun 1999 14:00:50 -0400 (EDT)
From:      Bill Paul <wpaul@skynet.ctr.columbia.edu>
To:        abourov@alt.net (Anthony Bourov)
Cc:        hackers@FreeBSD.ORG
Subject:   Re: Q: xl0: no memory for rx list -- packet dropped!
Message-ID:  <199906071800.OAA18098@skynet.ctr.columbia.edu>
In-Reply-To: <4.2.0.56.19990607091352.030eb820@mail.addr.com> from "Anthony Bourov" at Jun 7, 99 09:22:58 am

next in thread | previous in thread | raw e-mail | index | archive | help
Of all the gin joints in all the towns in all the world, Anthony Bourov 
had to walk into mine and say:

> Hi,
> 
> I am running a FreeBSD server, and I am running into this problem very 
> often. The machine stops responding and instead outputs 1000s of
> xl0: no memory for rx list -- packet dropped!
> xl0: no memory for rx list -- packet dropped!
> xl0: no memory for rx list -- packet dropped!
> xl0: no memory for rx list -- packet dropped!
> messages. The machine is usually pulling about 4-5 megabits but there is 
> usually a traffic spike right before this happens so an attack is not out 
> of the question, but I was wondering if there was any way I can raise the 
> threshold  for this (would more BUFFERs do the trick?).

You don't say what version of FreeBSD this is, or what driver version
you have. Sorry, but my mind reading helmet is in the shop this week.

If you're running something older than 3.2-RELEASE, try the latest
driver from http://www.freebsd.org/~wpaul/3Com. The newer version has
a larger RX and TX ring sizes. If you are running 3.2-RELEASE or later
or changing the ring sizes doesn't help, then try compiling a new
kernel with a larger value for NMBCLUSTERS, i.e.:

options                 "NMBCLUSTERS=20000"

Actually, for newer versions of FreeBSD, you may have to do:

options                 NMBCLUSTERS="20000"

If config(8) complains about the first syntax, try the second. This
will greatly increase the size of the mbuf cluster pool, which should
at least hold off the starvation condition for a while longer. You
might want to check the traffic on the line with tcpdump. I would
look for lots of ICMP or UDP traffic, or maybe lots of TCP segments
directed at ports where there's nothing listening.

Note: each mbuf cluster is 2K in size. 20000 * 2048 == 40MB of RAM, so
you better have a lot of memory in this server. If not, try something
smaller.

-Bill

-- 
=============================================================================
-Bill Paul            (212) 854-6020 | System Manager, Master of Unix-Fu
Work:         wpaul@ctr.columbia.edu | Center for Telecommunications Research
Home:  wpaul@skynet.ctr.columbia.edu | Columbia University, New York City
=============================================================================
 "It is not I who am crazy; it is I who am mad!" - Ren Hoek, "Space Madness"
=============================================================================


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?199906071800.OAA18098>