From owner-cvs-all@FreeBSD.ORG Tue Jun 19 01:52:12 2007 Return-Path: X-Original-To: cvs-all@freebsd.org Delivered-To: cvs-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5FB9316A41F for ; Tue, 19 Jun 2007 01:52:12 +0000 (UTC) (envelope-from pyunyh@gmail.com) Received: from nz-out-0506.google.com (nz-out-0506.google.com [64.233.162.226]) by mx1.freebsd.org (Postfix) with ESMTP id 07E3C13C455 for ; Tue, 19 Jun 2007 01:52:11 +0000 (UTC) (envelope-from pyunyh@gmail.com) Received: by nz-out-0506.google.com with SMTP id 14so1365431nzn for ; Mon, 18 Jun 2007 18:52:11 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:received:received:date:from:to:cc:subject:message-id:reply-to:references:mime-version:content-type:content-disposition:in-reply-to:user-agent; b=DEKty2ApM9MxsLkr0PY2CAsABzxRgxaHlWgVZax49DUY8PMu5FAW3N2C4UTreWl4v2GE7gEfyRED51BnOtBCyRY29uL1nWg/YD2v8LimgDDMKUBowPnpXO6hYt9sKiDWTQ6uKbh+DTcBJoYn3yyY/c1X6juSzkooz/AtrX1eMxc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:date:from:to:cc:subject:message-id:reply-to:references:mime-version:content-type:content-disposition:in-reply-to:user-agent; b=hDfq6rVH8JT4UHAbS1zjItr6QCKvCc+heoSqG0QvZyjtpAMnIVbRSCToXM+3xkAgt8/tqWkl4wkNybOqjCQDAwtSYQtGeCIQs01tEnVL5A4YH7ONBDln43xlqG6pVNwTh+CPZ6XrInSNxBhRY2+k0/4iHvLgQ2MmyO6E+MyIM6E= Received: by 10.115.55.1 with SMTP id h1mr6807673wak.1182217930767; Mon, 18 Jun 2007 18:52:10 -0700 (PDT) Received: from michelle.cdnetworks.co.kr ( [211.53.35.84]) by mx.google.com with ESMTP id k9sm15925790wah.2007.06.18.18.52.06 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 18 Jun 2007 18:52:09 -0700 (PDT) Received: from michelle.cdnetworks.co.kr (localhost.cdnetworks.co.kr [127.0.0.1]) by michelle.cdnetworks.co.kr (8.13.5/8.13.5) with ESMTP id l5J1q2V4013672 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 19 Jun 2007 10:52:02 +0900 (KST) (envelope-from pyunyh@gmail.com) Received: (from yongari@localhost) by michelle.cdnetworks.co.kr (8.13.5/8.13.5/Submit) id l5J1q1ZY013671; Tue, 19 Jun 2007 10:52:01 +0900 (KST) (envelope-from pyunyh@gmail.com) Date: Tue, 19 Jun 2007 10:51:59 +0900 From: Pyun YongHyeon To: Tom Judge Message-ID: <20070619015159.GB13241@cdnetworks.co.kr> References: <200706110155.l5B1t9d9043150@repoman.freebsd.org> <466CFBE2.1090907@freebsd.org> <20070611074456.GE39661@cdnetworks.co.kr> <466CFEC1.6080100@freebsd.org> <467682C3.4020701@tomjudge.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <467682C3.4020701@tomjudge.com> User-Agent: Mutt/1.4.2.1i Cc: src-committers@freebsd.org, Andre Oppermann , cvs-src@freebsd.org, cvs-all@freebsd.org, rwatson@freebsd.org, Pyun YongHyeon Subject: Re: cvs commit: src/sys/dev/msk if_msk.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: pyunyh@gmail.com List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jun 2007 01:52:12 -0000 On Mon, Jun 18, 2007 at 02:04:03PM +0100, Tom Judge wrote: > 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? > I'm unsure but it wouldn't work as TSO is an interface capability. The ICMP error may restart PMTU discovery but it wouldn't disable TSO for the connection, I guess. The only way that disables TSO for the connection would be returning EMSGSIZE to TCP stack. The TCP stack would disable TSO and retry to MTU discovery if it get an EMSGSIZE error. > Tom -- Regards, Pyun YongHyeon