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>