[shim6] FW: WG Last Call for draft-ietf-shim6-multihome-shim-api

Shinta Sugimoto <shinta.sugimoto@ericsson.com> Sat, 19 December 2009 14:58 UTC

Return-Path: <shinta.sugimoto@ericsson.com>
X-Original-To: shim6@core3.amsl.com
Delivered-To: shim6@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2A2E93A6A79 for <shim6@core3.amsl.com>; Sat, 19 Dec 2009 06:58:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.249
X-Spam-Level:
X-Spam-Status: No, score=-6.249 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_SE=0.35, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tv2odMvVMmho for <shim6@core3.amsl.com>; Sat, 19 Dec 2009 06:58:31 -0800 (PST)
Received: from mailgw3.ericsson.se (mailgw3.ericsson.se [193.180.251.60]) by core3.amsl.com (Postfix) with ESMTP id 957193A687D for <shim6@ietf.org>; Sat, 19 Dec 2009 06:58:30 -0800 (PST)
X-AuditID: c1b4fb3c-b7b57ae0000005bb-1e-4b2cea05800b
Received: from esessmw0184.eemea.ericsson.se (Unknown_Domain [153.88.253.124]) by mailgw3.ericsson.se (Symantec Mail Security) with SMTP id 31.26.01467.50AEC2B4; Sat, 19 Dec 2009 15:58:14 +0100 (CET)
Received: from esgscmw0055.eapac.ericsson.se (146.11.115.121) by esessmw0184.eemea.ericsson.se (153.88.115.81) with Microsoft SMTP Server (TLS) id 8.1.375.2; Sat, 19 Dec 2009 15:58:13 +0100
Received: from ESGSCCMS0002.eapac.ericsson.se ([169.254.1.36]) by esgscmw0055.eapac.ericsson.se ([146.11.115.121]) with mapi; Sat, 19 Dec 2009 22:58:11 +0800
From: Shinta Sugimoto <shinta.sugimoto@ericsson.com>
To: "shim6@ietf.org" <shim6@ietf.org>
Date: Sat, 19 Dec 2009 22:58:09 +0800
Thread-Topic: [shim6] WG Last Call for draft-ietf-shim6-multihome-shim-api
Thread-Index: AcqAH3V+1vP4Znj2SLGlhsfliEJUwwAnAtNw
Message-ID: <541EE6CB2B85BE4389E2910C9B4BC77E01C40C7020@ESGSCCMS0002.eapac.ericsson.se>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: AAAAAA==
Subject: [shim6] FW: WG Last Call for draft-ietf-shim6-multihome-shim-api
X-BeenThere: shim6@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: SHIM6 Working Group Mailing List <shim6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/shim6>, <mailto:shim6-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/shim6>
List-Post: <mailto:shim6@ietf.org>
List-Help: <mailto:shim6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/shim6>, <mailto:shim6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 19 Dec 2009 14:58:32 -0000

(let me forward the email from Michael Scharf. It seems that the email did not reach the ML) 

-----Original Message-----
From: SCHARF, Michael [mailto:Michael.Scharf@alcatel-lucent.com] 
Sent: Friday, December 18, 2009 9:20 PM
To: shim6@ietf.org
Cc: Shinta Sugimoto
Subject: RE: [shim6] WG Last Call for draft-ietf-shim6-multihome-shim-api

Dear all,

I had a look at draft-ietf-shim6-multihome-shim-api-11. Unfortunately, I have not followed the discussion before, and I am not an expert in SHIM6 and HIP. But I hope that my comments are still useful.


Summary:
--------

In general, I think that the document is already in a good shape, but some small modifications and clarifications are needed, as explained below.


Comments:
---------

> 1.  Introduction
>
>  HIP and SHIM6 have a commonality in their protocol design in the  
> sense that the semantic roles of an IP address, i.e., an identifier  
> and a locator, are distinguished.

It could maybe help to better understand the API if there there was an overview paragraph that explains which parts of the API can indeed be applied to HIP or SHIM6, respectively. While the slight differences are addressed various times in the API specification, an additional overall statement would make sense, e. g., in Section 5.

Also, the system model in Figure 2 seems to apply more to HIP than to SHIM6.

>   The distinction between "connected" sockets and "unconnected"
sockets
>   is important when discussing the applicability of the socket API
>   defined in this document.  A connected socket is bound to a given
>   peer, whereas an unconnected socket is not bound to any specific
>   peers.  That is, the destination of the user data is not known until
>   the application writes data to an unconnected socket.  TCP sockets
>   are connected, by definition.  UDP sockets are unconnected, unless
>   the application uses the connect() system call.

I would classify a TCP socket as "unconnected" before the TCP connection is established, i. e., before the connect()/accept() system call. Some of the socket API functions could indeed be called before the TCP connection is established (e. g., SHIM_DONTSHIM, SHIM_DEFERRED_CONTEXT_SETUP).

The document should more explicitly describe which of the socket options can be set for an "unconnected" TCP socket.

> 3.  System Overview
>
>   It may also be possible that the shim sub-layer interacts with the
>   transport layer, however, such an interaction is outside the scope
of
>   this document.

In addition to interactions, there could also be API conflicts with a multi-homing capable transport, which are probably outside of the scope of this document, too.

> 4.  Requirements
>   o  Turn on/off shim.  An application should be able to request to
>      turn on or turn off the multihoming support by the shim layer:
>      *  Apply shim.  The application should be able to explicitly
>         request the shim sub-layer to apply multihoming support.
>      *  Don't apply shim.  The application should be able to request
>         the shim sub-layer not to apply the multihoming support but to
>         apply normal IP processing at the IP layer.

I think that this is a quite important requirement and could be put first in the list.

> 5.11.  SHIM_LOCLIST_LOCAL
>
>   An application can get the locator list by getsockopt().  Note that
>   the size of the buffer pointed by optval argument should be large
>   enough to store an array of locator information.  The number of the
>   locator information is not known beforehand.

This leaves open what happens if the buffer size is not large enough to store all locators. I think there should be some comment what would happen in this corner case.

> 5.15.  Applicability
>
>   All the socket options for the multihoming shim sub-layer except for
>   SHIM_HOT_STANDBY are applicable for both connected and unconnected
>   sockets.

As already mentioned, this section should IMHO discuss in which state of a TCP connection the different socket options can be used.

> 6.4.  Notification from Multihoming Shim Sub-layer to Application

Based on the description, I am not sure if I really understand how this notification mechanism would actually work, and what it would imply.

> 11.1.  Naming at Socket Layer

This subsection could IMHO be moved to Section 9. Maybe there should also be a comment on potential implications of returning the EID in case of legacy applications.

> 11.2.  Additional Requirements from Applications

I am not sure why this subsection is needed.

> 11.3.  Issues of Header Conversion among Different Address Family 
> 11.4.  Handling of Unknown Locator Provided by Application

These two subsection should IMHO more clearly state what the open issue is.


Some editorial comments:
------------------------

* In general, I think that the use of articles ("a", "the") should be reviewed in some paragraphs. But I am not a native speaker.

* Page 8: Typo: [RFC5534]]

* Page 21: "An error EINVALIDLOCATOR is returned when an invalid locator is specified."


Best regards

Michael