Date: Fri, 24 Apr 1998 15:21:21 -0700 From: Julian Elischer <julian@whistle.com> To: "Justin T. Gibbs" <gibbs@narnia.plutotech.com> Cc: Garrett Wollman <wollman@khavrinen.lcs.mit.edu>, current@FreeBSD.ORG Subject: Re: Bandwidth throttling etc. Message-ID: <35411060.102F11D5@whistle.com> References: <199804242209.QAA03142@narnia.plutotech.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Justin T. Gibbs wrote: > > > What you Really Want is for each interface to manage its own > > allocations. When you want to send a packet, you ask the interface > > for a buffer, and it gives you one of an appropriate size and shape > > that it knows how to transmit efficiently. > > How do deal with a route change between the time you determine the > target interface, ask it to allocate space for you, and construct > the packet? The race window becomes much larger if the application > asks to pre-allocate space that it will reuse repeatedly to achieve > zero copy. Whatever the interface is, it must also handle external > memory allocations such as dmaing the payload out of the memory on > another device. of course.. each driver has to be able to handle the case where the mbuf is not one of it's own. That's inevitable in a routing situation unless you want to copy the data from an interface A mbuf into an interface B mbuf. On the whole however it's best to allow the interface to do that at the last minute as it may have no problems with leaving it where it is.. As I mentioned in another mail, we've been doing this for 10 years at TFS. it works fine. > > -- > Justin > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-current" in the body of the message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?35411060.102F11D5>