dummynet dropping too many packets
rihad
rihad at mail.ru
Sat Oct 17 05:22:31 UTC 2009
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.
More information about the freebsd-net
mailing list