Re: [Tsvwg] overlapping TCP segments during reassembly

David Borman <dab@BSDI.COM> Wed, 27 August 2003 04:55 UTC

Received: from optimus.ietf.org (ietf.org [132.151.1.19] (may be forged)) by ietf.org (8.9.1a/8.9.1a) with ESMTP id AAA21215 for <tsvwg-archive@odin.ietf.org>; Wed, 27 Aug 2003 00:55:52 -0400 (EDT)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19rmkM-00050G-58 for tsvwg-archive@odin.ietf.org; Tue, 26 Aug 2003 18:57:08 -0400
Received: (from exim@localhost) by www1.ietf.org (8.12.8/8.12.8/Submit) id h7QMv6ap019197 for tsvwg-archive@odin.ietf.org; Tue, 26 Aug 2003 18:57:06 -0400
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19rlzk-00030B-Lv; Tue, 26 Aug 2003 18:08:56 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19rkcD-0007NJ-0T for tsvwg@optimus.ietf.org; Tue, 26 Aug 2003 16:40:33 -0400
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id QAA07616 for <tsvwg@ietf.org>; Tue, 26 Aug 2003 16:40:27 -0400 (EDT)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 19rkcB-0001FI-00 for tsvwg@ietf.org; Tue, 26 Aug 2003 16:40:31 -0400
Received: from frantic-dmz.weston.bsdi.com ([206.196.54.22] helo=frantic.weston.bsdi.com) by ietf-mx with esmtp (Exim 4.12) id 19rkcA-0001Ea-00 for tsvwg@ietf.org; Tue, 26 Aug 2003 16:40:30 -0400
Received: from frantic.weston.bsdi.com (localhost.BSDI.COM [127.0.0.1]) by frantic.weston.bsdi.com (8.12.5/8.12.5) with ESMTP id h7QKdfAl019626; Tue, 26 Aug 2003 15:39:41 -0500 (CDT)
Received: (from dab@localhost) by frantic.weston.bsdi.com (8.12.5/8.12.5/Submit) id h7QKdePe019625; Tue, 26 Aug 2003 15:39:40 -0500 (CDT)
Date: Tue, 26 Aug 2003 15:39:40 -0500
From: David Borman <dab@BSDI.COM>
Message-Id: <200308262039.h7QKdePe019625@frantic.weston.bsdi.com>
To: mbashyam@cisco.com, tsvwg@ietf.org
Subject: Re: [Tsvwg] overlapping TCP segments during reassembly
Sender: tsvwg-admin@ietf.org
Errors-To: tsvwg-admin@ietf.org
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>

> Date: Mon, 25 Aug 2003 18:56:48 -0700
> From: Murali Bashyam <mbashyam@cisco.com>
> Subject: [Tsvwg] overlapping TCP segments during reassembly
...
> Is there any guidelines outlined by any TCP RFC's  for determining what
> data in the sequence space to keep and what to drop during TCP out of
> order packet reassembly when there are overlaps? The BSD code tries to
> trim the incoming segment when there is an overlap with a previous
> segment in sequence space, and trims the already queued segments when
> there is an overlap with succeeding segments in sequence space. I was
> curious abt the motivation behind this strategy.

In the BSD code, it is less work to trim from the front of an mbuf
chain than from the tail of an mbuf chain, so when the front overlaps
it's easier to trim the new segment, and when the tail overlaps it's
easier to trim the succeeding segments.  See m_adj() in uipc_mbuf.c.

			-David Borman

_______________________________________________
tsvwg mailing list
tsvwg@ietf.org
https://www1.ietf.org/mailman/listinfo/tsvwg