What's the latest on fixing IFF_DRV_OACTIVE/if_start/etc?

Gleb Smirnoff glebius at FreeBSD.org
Wed Sep 19 15:19:58 UTC 2012


On Mon, Sep 17, 2012 at 01:16:45PM -0400, John Baldwin wrote:
J> On Monday, September 17, 2012 11:49:59 am Ryan Stone wrote:
J> > I know that there have been a lot of discussions about fixing how
J> > packets are handed off to ifnets due to the current methods being
J> > extremely race-prone.  Has there been any consensus on how the problem
J> > is going to be solved?
J> > 
J> > In my particular case, I've seen an if_bridge interface whose if_snd
J> > queue is full, and once an ifnet reaches that point it will never
J> > transmit anything ever again unless its driver manually calls the
J> > start method somehow.
J> > 
J> > As a short-term fix I'm temped to call to if_start in IFQ_HANDOFF_ADJ
J> > even if IFQ_ENQUEUE returns an error, to ensure that the queue will be
J> > drained eventually, but I'm wondering if people are actively working
J> > on longer-term fixes.
J> 
J> I think for if_bridge the fix is that it no longer uses if_start. :)

And this is already in head. :)

-- 
Totus tuus, Glebius.


More information about the freebsd-net mailing list