What's the latest on fixing IFF_DRV_OACTIVE/if_start/etc?
John Baldwin
jhb at freebsd.org
Mon Sep 17 20:22:34 UTC 2012
On Monday, September 17, 2012 4:00:04 pm Jack Vogel wrote:
> So, you mean having them create their own buf ring I assume? Would be easy
> enough to hack some code and try it if someone is so inclined?
No, that would be backwards (back to giving them a queue). Adrian's
suggestion is to provide a mechanism so that the "real" interface
(e.g. emX) can call back into the psuedo-interfaces on top of it
(vlanX or bridgeX) when a TX completion interrupt fires so that the
pseudo-interface would know to restart transmission. However, I think
this is generally not ideal. I don't think we want an additional queue
of pending packets in things like if_bridge(4) and vlan(4). If the
underlying physical interface(s) are full, the packet should just get
dropped rather than queued. Using if_transmit directly will do that while
avoiding overhead. Also, making the callback work would also be a bit
ungainly.
--
John Baldwin
More information about the freebsd-net
mailing list