Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 31 Jan 1999 23:56:52 -0700
From:      Wes Peters <wes@softweyr.com>
To:        yu.shi@research.nokia.com
Cc:        "freebsd-net@FreeBSD.ORG" <freebsd-net@FreeBSD.ORG>
Subject:   Re: drop packets?
Message-ID:  <36B55034.C6332745@softweyr.com>
References:  <36B53717.2D4B7C8F@research.nokia.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Shi Yu wrote:
> 
> I have a question:
> 
> When the IF output queue is full, the if_output simply drop the
> packet!??
> 
> I mean for a busy router, it often forwards the a lot of packets.

Often, yes.  You should see some of my routers. ;^)

> If the IF output queue is often full, why ip stack does not get feedback
> from the driver and buffer the packets so that less packets are dropped
> ?

The IP stack does buffer packets, in the output queue.  It gets feedback
from the driver by noticing the output queue is full, i.e. there are no
more mbufs.

> Is the IF output queue often full?
> what is the max size of them?
> How to supervise them?

IP packets are queued in data structures known as mbufs.  The default
number of mbufs in your system is controlled by the "maxusers" option
in your config file.  The default number of mbuf clusters, 
NMBCLUSTERS, is defined to be 512 + MAXUSERS * 16, and the number
of mbufs is 4 times the number of mbuf clusters.  To increase the
number of mbufs in your system, you can either increase maxusers, or
you can explicitly set "options NMBCLUSTERS" in your configuration.
See the LINT config for details.

A question to ponder, though: how do you know your system is running
out of buffers?  There are a lot of other problems, especially on a 
busy ethernet, that can cause packet loss.

-- 
       "Where am I, and what am I doing in this handbasket?"

Wes Peters                                                 Softweyr LLC
http://www.softweyr.com/~softweyr                      wes@softweyr.com

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?36B55034.C6332745>