Date: Mon, 25 Mar 2002 14:54:47 -0800 From: Luigi Rizzo <rizzo@icir.org> To: Lars Eggert <larse@ISI.EDU> Cc: Matthew Luckie <mjl@nlanr.net>, freebsd-net@FreeBSD.ORG Subject: Re: ip_output and ENOBUFS Message-ID: <20020325145447.A2986@iguana.icir.org> In-Reply-To: <3C9F9F5B.4090409@isi.edu> References: <Pine.BSF.4.21.0203251356350.88720-100000@mave.nlanr.net> <3C9F9F5B.4090409@isi.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Mar 25, 2002 at 02:06:19PM -0800, Lars Eggert wrote: > Matthew Luckie wrote: > >>>Is there a mechanism to tell when ip_output should be called again? ... > >if you could suggest a few modifications that would be required, i'd like > >to pursue this further. > > Look at tsleep/wakeup on ifnet of if_snd. I am under the impression that implementing this mechanism would not be so trivial. It is not immediate to tell back to the caller on which interface ip_output() failed. Nor there is a common place that i know of where you can be notified that a packet was successfully transmitted -- i suspect you should patch all individual drivers. Finally, there is the question on whether you do a wakeup as soon as you get a free slot in the queue (in which case you most likely end up paying the cost of a tsleep/wakeup pair on each transmission), or you put some histeresys. cheers luigi > Lars > -- > Lars Eggert <larse@isi.edu> Information Sciences Institute > http://www.isi.edu/larse/ University of Southern California To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020325145447.A2986>