[multipathtcp] draft terminology: MPTCP control block variable SND.NXT

Nigel Williams <njwilliams@swin.edu.au> Mon, 12 November 2012 06:53 UTC

Return-Path: <njwilliams@swin.edu.au>
X-Original-To: multipathtcp@ietfa.amsl.com
Delivered-To: multipathtcp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9008F21F84C4 for <multipathtcp@ietfa.amsl.com>; Sun, 11 Nov 2012 22:53:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.194
X-Spam-Level:
X-Spam-Status: No, score=0.194 tagged_above=-999 required=5 tests=[BAYES_05=-1.11, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, J_CHICKENPOX_33=0.6]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kUFnB1ks+hbL for <multipathtcp@ietfa.amsl.com>; Sun, 11 Nov 2012 22:53:54 -0800 (PST)
Received: from gpo1.cc.swin.edu.au (gpo1.cc.swin.edu.au [136.186.1.30]) by ietfa.amsl.com (Postfix) with ESMTP id 4F77721F8488 for <multipathtcp@ietf.org>; Sun, 11 Nov 2012 22:53:48 -0800 (PST)
Received: from [136.186.229.154] (nwilliams-laptop.caia.swin.edu.au [136.186.229.154]) by gpo1.cc.swin.edu.au (8.14.3/8.14.3) with ESMTP id qAC6rbZn025722 for <multipathtcp@ietf.org>; Mon, 12 Nov 2012 17:53:42 +1100
Message-ID: <50A09CF1.2060302@swin.edu.au>
Date: Mon, 12 Nov 2012 17:53:37 +1100
From: Nigel Williams <njwilliams@swin.edu.au>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121011 Thunderbird/16.0.1
MIME-Version: 1.0
To: multipathtcp <multipathtcp@ietf.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Subject: [multipathtcp] draft terminology: MPTCP control block variable SND.NXT
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Multi-path extensions for TCP <multipathtcp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/multipathtcp>, <mailto:multipathtcp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/multipathtcp>
List-Post: <mailto:multipathtcp@ietf.org>
List-Help: <mailto:multipathtcp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/multipathtcp>, <mailto:multipathtcp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Nov 2012 06:53:55 -0000

Hi all.

Thanks to Yoshifumi for keeping an eye on jabber during the session, 
though the time-lag did prove to be a bit of an obstacle.

Following on from the point we had regarding 'DS SND.NXT'.

 From the draft [1] v12, p59, Section B.1.2 (variables in the MPTCP 
control block):
"SND.NXT (64 bits):  This is the Data Sequence Number of the next byte 
to be sent.  SND.NXT is used to determine the value of the DSN in the 
DSS option."

This terminology is borrowed from regular single flow TCP, but it's 
meaning does not seem to us to be the same in the MPTCP context. When a 
subflow asks the scheduler for new data to send, the scheduler allocates 
a chunk of the TX socket buffer to the subflow, tells the subflow the 
starting DS value for the chunk and the length of the chunk. The subflow 
then proceeds to send a DS map for the chunk and all the associated data 
before calling back up to the scheduler to get a new chunk allocated.

Each subflow's internal concept of snd.nxt makes sense as in the regular 
single flow TCP case, but at the DS level, packets leave the machine 
with DS-level sequence numbers that jump all over the place (when using 
mappings > 1-MSS on multiple subflows). The interesting variable at the 
DS level is really the largest DS value mapped to a subflow i.e. the 
right most edge of the TX socket buffer which designates the boundary 
between bytes which have been mapped into subflows and bytes which have 
not. This is not analogous to an individual TCP flow's SND.NXT though, 
hence the point of discussion.

cheers,
nigel


[1] http://www.ietf.org/id/draft-ietf-mptcp-multiaddressed-12.txt