On 17 September 2012 10:16, John Baldwin <j...@freebsd.org> wrote: > I think for if_bridge the fix is that it no longer uses if_start. :)
:) > For real hardware you will get some sort of TX completion interrupt that will > restart the transmit queue. Virtual software-only interfaces such as vlan(4) > and if_bridge(4) don't have that luxury though, and the best bet for them is > to probably have them use if_transmit instead. vlan(4) and if_bridge(4) are > already fixed for that (if_bridge was only fixed a week or so ago in HEAD). I'm still not convinced that going the if_start route (with process-to-completion) is going to work well when forwarding gobs of packets on anything bar ${BIG_IRON}, but that aside.. It may be nice to introduce a virtual TX completion callback? Ie, a child driver could signal that it's successfully drained its TX queue, notifying any parent drivers that they can send more? adrian _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"