Date: Mon, 18 Jun 2007 14:04:03 +0100 From: Tom Judge <tom@tomjudge.com> To: Andre Oppermann <andre@freebsd.org> Cc: pyunyh@gmail.com, src-committers@freebsd.org, cvs-src@freebsd.org, cvs-all@freebsd.org, rwatson@freebsd.org, Pyun YongHyeon <yongari@freebsd.org> Subject: Re: cvs commit: src/sys/dev/msk if_msk.c Message-ID: <467682C3.4020701@tomjudge.com> 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
Andre Oppermann wrote: > Pyun YongHyeon wrote: >> On Mon, Jun 11, 2007 at 09:38:10AM +0200, Andre Oppermann wrote: >> > Pyun YongHyeon wrote: >> > >yongari 2007-06-11 01:55:09 UTC >> > > >> > > FreeBSD src repository >> > > >> > > Modified files: >> > > sys/dev/msk if_msk.c > > Log: >> > > Disable automatic IP ID increment. Due to a hardware bug the >> automatic >> > > IP ID increment in TSO case generated corrupted IP packets. >> > > This change brings back TSO capability. >> > > > > Revision Changes Path >> > > 1.16 +0 -15 src/sys/dev/msk/if_msk.c >> > > Please add check for the DF (Don't fragment) bit in the IP header. >> > Otherwise we may run into trouble when fragmentation happens along >> > the path. We almost always set DF on TCP connections. If it is not >> > set please return EMSGSIZE which will cause TSO to be turned off. >> > >> 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. > Sorry for jumping in here, but could you not pass the message back up by dropping the packet and sending a ICMP error back up the stack with the Error code set for "Fragmentation needed and DF set" and set the MTU hint to the current interface MTU? Or is this a stupid idea? Tom
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?467682C3.4020701>