From owner-freebsd-current@FreeBSD.ORG Mon May 2 14:48:34 2005 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 94FDE16A4CF for ; Mon, 2 May 2005 14:48:34 +0000 (GMT) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9765243D41 for ; Mon, 2 May 2005 14:48:33 +0000 (GMT) (envelope-from andre@freebsd.org) Received: (qmail 76245 invoked from network); 2 May 2005 14:48:24 -0000 Received: from unknown (HELO freebsd.org) ([62.48.0.53]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 2 May 2005 14:48:24 -0000 Message-ID: <42763DC3.38CC2DD6@freebsd.org> Date: Mon, 02 May 2005 16:48:35 +0200 From: Andre Oppermann X-Mailer: Mozilla 4.8 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: Qing Li References: <20050430023040.3AC1D43D53@mx1.FreeBSD.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: 'David Malone' cc: qingli@freebsd.org cc: matthew@uq.edu.au cc: silby@freebsd.org cc: freebsd-current@freebsd.org Subject: Re: FW: pmtu patch X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 May 2005 14:48:34 -0000 Qing Li wrote: > -----Original Message----- > From: Qing Li [mailto:qingli@FreeBSD.org] > Sent: Thursday, April 28, 2005 5:36 PM > To: andre@freebsd.org > Cc: qingli@freebsd.org > Subject: pmtu patch > > Hi Andre, > > I was thinking whether we could add another variable > in "hc_metrics" called "u_long rmx_mtu_lastupdate" and > perhaps a new function called "tcp_hc_getmtu_update" > > When we get the ICMP PRC_MSGSIZE notification, we do > > if (((time_second() - tcp_hc_getmtu_update(&inc)) < PMTU_MIN) > do_nothing; > else { > ... > } > > If there is no suggested mtu value, instead of immediately > falling back to the default, or rely on the original > packet fragment, can we just use the mtu value in the > host cache as the basis for the next try as in: > > else { > > > > mtu = ip_next_mtu(tcp_hc_getmtu(&inc), 1); > > } IMO this is too complicated for too little actual value. It's not that we are supposed to run into this problem all the time. David's idea provides a very easy way to work around the problem without requiring any state tracking. -- Andre