Date: Sat, 17 Oct 2009 10:22:27 +0500 From: rihad <rihad@mail.ru> To: rihad <rihad@mail.ru> Cc: freebsd-net@freebsd.org Subject: Re: dummynet dropping too many packets Message-ID: <4AD95493.40200@mail.ru> In-Reply-To: <4AD6D99E.10805@mail.ru> References: <4AD6D99E.10805@mail.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
rihad wrote: > For now we've mostly disabled dummynet and the drops have stopped, > thanks to some extra unused bandwidth we have. But this isn't a real > solution, of course, so this weekend I'm going to try the suggestion > made by Robert Watson: > > > In the driver init code in if_bce, the following code appears: > > > > ifp->if_snd.ifq_drv_maxlen = USABLE_TX_BD; > > IFQ_SET_MAXLEN(&ifp->if_snd, ifp->if_snd.ifq_drv_maxlen); > > IFQ_SET_READY(&ifp->if_snd); > > > > Which evaluates to a architecture-specific value due to varying > pagesize. You might just try forcing it to 1024. > In a few days I'm going to try it anyway, and if the system locks up > I'll just revert back to the original code > > TIA > Just rebooted with the "ifp->if_snd.ifq_drv_maxlen = 1024;" kernel, all ok so far. There's currenlty only 1000 or so entries in the ipfw table and around 350-400 net mbps load, so I'll wait a few hours for the numbers to grow to >2000 and 460-480 respectively and see if the drops still occur. P.S.: BTW, there's a small admin-type inconsistency in FreeBSD 7.1: /etc/rc.firewall gets executed before values set by /etc/sysctl.conf are in effect, so "queue 2000" isn't allowed in ipfw pipe rules (as net.inet.ip.dummynet.pipe_slot_limit is only 100 by default), so the rules are silently failing without any trace in the log files - I only saw the errors at the console.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4AD95493.40200>