Date: Mon, 11 Jun 2007 13:50:11 +0100 (BST) From: Robert Watson <rwatson@FreeBSD.org> To: Andre Oppermann <andre@freebsd.org> Cc: pyunyh@gmail.com, cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org, Pyun YongHyeon <yongari@freebsd.org> Subject: Re: cvs commit: src/sys/dev/msk if_msk.c Message-ID: <20070611134717.D42170@fledge.watson.org> In-Reply-To: <466CFEC1.6080100@freebsd.org> References: <200706110155.l5B1t9d9043150@repoman.freebsd.org> <466CFBE2.1090907@freebsd.org> <20070611074456.GE39661@cdnetworks.co.kr> <466CFEC1.6080100@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 11 Jun 2007, Andre Oppermann wrote: >> Is there any way to return EMSGSIZE to upper layer? if_start has return >> type void. Or just dropping the packet if DF bit was not set is enough? > > Dropping the packet is not enough. I forgot the IF queue which separates > the downpath from the encap function... Don't know how you can pass up the > error. Robert wanted to change the drivers queuing model, that would make > it possible. CC'ed. For the past few years I have had plans to move to a queueing model in which ifqueue (or ifaltq) become library routines invoked by the device driver rather than explicit interfaces called above the device driver layer. This would have a number of benefits, including allowing device drivers to use alternative queueing models more easily. Historically, the link layer has been the one returning errors, based on mtu, etc, to the protocol, and not the device driver, but this would allow that to be changed. However, each time I start working on this project, I get lost in a maze of altq macros, so it hasn't happened for 6.0 or 7.0. I'll try again for 8.0 :-) Robert N M Watson Computer Laboratory University of Cambridge
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070611134717.D42170>