Date: Mon, 17 Sep 2012 11:49:59 -0400 From: Ryan Stone <rysto32@gmail.com> To: freebsd-net <freebsd-net@freebsd.org> Subject: What's the latest on fixing IFF_DRV_OACTIVE/if_start/etc? Message-ID: <CAFMmRNzkwbQpUZ3OOoMKVdrz=dePc5fkeX3m-5vXtiWJ7qXwVA@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
I know that there have been a lot of discussions about fixing how packets are handed off to ifnets due to the current methods being extremely race-prone. Has there been any consensus on how the problem is going to be solved? In my particular case, I've seen an if_bridge interface whose if_snd queue is full, and once an ifnet reaches that point it will never transmit anything ever again unless its driver manually calls the start method somehow. As a short-term fix I'm temped to call to if_start in IFQ_HANDOFF_ADJ even if IFQ_ENQUEUE returns an error, to ensure that the queue will be drained eventually, but I'm wondering if people are actively working on longer-term fixes.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFMmRNzkwbQpUZ3OOoMKVdrz=dePc5fkeX3m-5vXtiWJ7qXwVA>