Date: Mon, 17 Sep 2012 13:29:50 -0700 From: Jack Vogel <jfvogel@gmail.com> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-net@freebsd.org, Adrian Chadd <adrian@freebsd.org>, Ryan Stone <rysto32@gmail.com> Subject: Re: What's the latest on fixing IFF_DRV_OACTIVE/if_start/etc? Message-ID: <CAFOYbckDbsQ2%2BY7KcejvunCxx2NLr8gvSFSOxud=5XdUj1k5bA@mail.gmail.com> In-Reply-To: <201209171622.11157.jhb@freebsd.org> References: <CAFMmRNzkwbQpUZ3OOoMKVdrz=dePc5fkeX3m-5vXtiWJ7qXwVA@mail.gmail.com> <201209171503.12517.jhb@freebsd.org> <CAFOYbcmt93px4poAmLgv6F288CDP_mPcejU8Mw5-h3h-A7bKUA@mail.gmail.com> <201209171622.11157.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Sep 17, 2012 at 1:22 PM, John Baldwin <jhb@freebsd.org> wrote: > 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. > > I meant using if_transmit, not the callback, would it not then need a buf ring? Jack
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFOYbckDbsQ2%2BY7KcejvunCxx2NLr8gvSFSOxud=5XdUj1k5bA>