Re: [DMM] I-D Action: draft-ietf-dmm-ondemand-mobility-17.txt

"Moses, Danny" <danny.moses@intel.com> Wed, 06 March 2019 11:05 UTC

Return-Path: <danny.moses@intel.com>
X-Original-To: dmm@ietfa.amsl.com
Delivered-To: dmm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9251F1276D0 for <dmm@ietfa.amsl.com>; Wed, 6 Mar 2019 03:05:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dclTzjmXSZ6t for <dmm@ietfa.amsl.com>; Wed, 6 Mar 2019 03:05:06 -0800 (PST)
Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3F8F91200B3 for <dmm@ietf.org>; Wed, 6 Mar 2019 03:05:04 -0800 (PST)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Mar 2019 03:05:02 -0800
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.58,447,1544515200"; d="scan'208";a="131690258"
Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga003.jf.intel.com with ESMTP; 06 Mar 2019 03:05:02 -0800
Received: from fmsmsx153.amr.corp.intel.com (10.18.125.6) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 6 Mar 2019 03:05:01 -0800
Received: from lcsmsx155.ger.corp.intel.com (10.186.165.233) by FMSMSX153.amr.corp.intel.com (10.18.125.6) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 6 Mar 2019 03:05:01 -0800
Received: from hasmsx106.ger.corp.intel.com ([169.254.10.203]) by LCSMSX155.ger.corp.intel.com ([169.254.12.205]) with mapi id 14.03.0415.000; Wed, 6 Mar 2019 13:04:43 +0200
From: "Moses, Danny" <danny.moses@intel.com>
To: Tom Herbert <tom@quantonium.net>
CC: dmm <dmm@ietf.org>
Thread-Topic: [DMM] I-D Action: draft-ietf-dmm-ondemand-mobility-17.txt
Thread-Index: AQHUyrmscsUmoytC/UStnPPAN5r0DKXsHcAAgA9XEzCAAA6+gIABY2JAgABCLICAAVPmwA==
Date: Wed, 6 Mar 2019 11:04:43 +0000
Message-ID: <F0CF5715D3D1884BAC731EA1103AC281441E3466@HASMSX106.ger.corp.intel.com>
References: <155084512373.5443.16190139225888494776@ietfa.amsl.com> <CAPDqMery=rDJhFTPx-YWo4yVybrq3YAjVv7L=2mPiUMP_SeAVA@mail.gmail.com> <F0CF5715D3D1884BAC731EA1103AC281441DCE35@HASMSX106.ger.corp.intel.com> <CAPDqMerXojrc4HNTWU1s0n3k=7+dRWfGn7Hhhu2SZ41Oa=VzOA@mail.gmail.com> <F0CF5715D3D1884BAC731EA1103AC281441E30BE@HASMSX106.ger.corp.intel.com> <CAPDqMeoikbGGyaOwSin_hAEbszA648hwgeaUFvUssvdiDEpamg@mail.gmail.com>
In-Reply-To: <CAPDqMeoikbGGyaOwSin_hAEbszA648hwgeaUFvUssvdiDEpamg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ctpclassification: CTP_NT
x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMzBkMjNhOTEtNWU5NS00OGVkLWJhN2EtZTdiZWUzN2MzNjI4IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiUm9MbVwvVEJTdEh5YzBUSTlXOUF3enk1XC90Tm1qaEdPWUpjczluNjFINm02ZkYzNE5nY05sSkhpRVwvbWFSMGlYcCJ9
dlp-product: dlpe-windows
dlp-version: 11.0.400.15
dlp-reaction: no-action
x-originating-ip: [10.124.184.165]
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/dmm/BcKFbdDFkpNm3a3tyl5GY75ZChs>
Subject: Re: [DMM] I-D Action: draft-ietf-dmm-ondemand-mobility-17.txt
X-BeenThere: dmm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Distributed Mobility Management Working Group <dmm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dmm>, <mailto:dmm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dmm/>
List-Post: <mailto:dmm@ietf.org>
List-Help: <mailto:dmm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dmm>, <mailto:dmm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 06 Mar 2019 11:05:10 -0000

Yes, now I see your point. Setsockopt() will trigger the exchange of packets between the mobile host and the network to allocate the desired prefix (if not already allocated), and connect() will be blocked until the prefix is allocated and the TCP handshaking is completed.

Some pros and cons that come to mind are:
Pros:
Setsockopt() is still non-blocking.
Non need to pass the address as a parameter. 
No need for defining a new function.

Conns:
It is not clear how the connect() should act if the desired address type is not allocated by the network. Should it still connect with the address available to the host or should it fail?
If it continues to connect, the application is not aware of the type of mobility service it will receive from the network.
If it should not connect, we are changing the definition of the behavior of connect(). Furthermore, applications that do not care about mobility service, will use connect() without setsockopt(). So now, connect() need to know whether or not setsockopt() was invoked for setting the desired mobility service type - also a new functionality of connect().
It will not work for UDP (were connect() is not invoked). However, this is not a strong conn, since we can define that as a default address type for UDP sockets should be 'non-persistent'. 

When the concern regarding the 'blocking' nature of setsockopt() was discussed in DMM, we provided several alternatives for resolution, and after some discussion, the one defined in the document was chosen.

Your alternative is also viable, but it is not clear to me that it is significantly better and is worth reopening the discussion once again in DMM. But, our correspondence is on the list and everyone is welcome to post an opinion.

Regards,
Danny



-----Original Message-----
From: Tom Herbert [mailto:tom@quantonium.net] 
Sent: Tuesday, March 05, 2019 18:26
To: Moses, Danny <danny.moses@intel.com>
Cc: dmm <dmm@ietf.org>
Subject: Re: [DMM] I-D Action: draft-ietf-dmm-ondemand-mobility-17.txt

On Tue, Mar 5, 2019 at 2:29 AM Moses, Danny <danny.moses@intel.com> wrote:
>
> Can you please provide a calling sequence of your proposal?
>

Something like:

s = socket(AF_INET6, SOCK_STREAM, 0) ;
setsockopt(s, IPPROTO_IP, PREFERRED_ADDRESS_TYPE,
IPV6_REQUIRE_SESSION_LASTING_IP)
if (connect(s, &serverInfo, sizeof(serverInfo)) < 0) {
   if (errno == EADDRNOTAVAIL) {
            // Didn't get address for requested type
  }
  ...
}

// To get address local address that was selected...
getsockname(s, &myaddr, &myaddrlen);


> Thanks,
> Danny
>
> -----Original Message-----
> From: Tom Herbert [mailto:tom@quantonium.net]
> Sent: Monday, March 04, 2019 17:17
> To: Moses, Danny <danny.moses@intel.com>
> Cc: dmm <dmm@ietf.org>
> Subject: Re: [DMM] I-D Action: draft-ietf-dmm-ondemand-mobility-17.txt
>
> On Mon, Mar 4, 2019 at 4:25 AM Moses, Danny <danny.moses@intel.com> wrote:
> >
> > Hi Tom,
> >
> > Fair question.
> >
> > I believe I mentioned that in one of my responses. The original definition was to use setsockopt() with new flags. However, some people raised the concern that this new feature changes the behavior of the function in a way that may confuse programmers and requested to use a new function (setsc()).
> >
> > The issue was due to the time it takes the function to process the request. In current Socket implementation, setsockopt() is a function that returns immediately to the caller. On the other hand, this new feature may trigger an exchange of packets between the IP stack in the mobile node and the network allocating the IP prefix. This exchange takes time and the function can return only after the exchange is completed. They insisted that we maintain the current 'immediate' return behavior of setsockopt() and introduce a new function that might 'block' the calling thread until it completes.
> >
> Hi Danny,
>
> It is unclear to me why address selection has to be done outside of binding the socket. It seems like the required functionality of the draft could be achieved by calling setsockopt to express desired address type and then calling connect on the socket. Connect will bind an address with the requested type and can obviously block if work needs to be done to find an appropriate address. This simplifies the API and addresses an ambiguity in the draft-- when setsc returns it is unclear if the address was somehow reserved for the socket use (e.g.
> this becomes pertinent if we were to add an interface to bind a unique address to a socket).
>
> Tom
>
> > Regards,
> > Danny
> >
> >
> >
> >
> > -----Original Message-----
> > From: dmm [mailto:dmm-bounces@ietf.org] On Behalf Of Tom Herbert
> > Sent: Friday, February 22, 2019 22:08
> > To: dmm <dmm@ietf.org>
> > Subject: Re: [DMM] I-D Action: 
> > draft-ietf-dmm-ondemand-mobility-17.txt
> >
> > Out of curiosity, why is the new API being portrayed as a system 
> > call
> > (setsc) instead of a socket option (the bar for adding a socket option is much lower ).
> >
> > Tom
> >
> > On Fri, Feb 22, 2019 at 6:19 AM <internet-drafts@ietf.org> wrote:
> > >
> > >
> > > A New Internet-Draft is available from the on-line Internet-Drafts directories.
> > > This draft is a work item of the Distributed Mobility Management WG of the IETF.
> > >
> > >         Title           : On Demand Mobility Management
> > >         Authors         : Alper Yegin
> > >                           Danny Moses
> > >                           Seil Jeon
> > >         Filename        : draft-ietf-dmm-ondemand-mobility-17.txt
> > >         Pages           : 18
> > >         Date            : 2019-02-22
> > >
> > > Abstract:
> > >    Applications differ with respect to whether they need session
> > >    continuity and/or IP address reachability.  The network providing the
> > >    same type of service to any mobile host and any application running
> > >    on the host yields inefficiencies, as described in [RFC7333].  This
> > >    document defines a new concep of enabling applications to influence
> > >    the network's mobility services (session continuity and/or IP address
> > >    reachability) on a per-Socket basis, and suggests extensions to the
> > >    networking stack's API to accomodate this concept.
> > >
> > >
> > > The IETF datatracker status page for this draft is:
> > > https://datatracker.ietf.org/doc/draft-ietf-dmm-ondemand-mobility/
> > >
> > > There are also htmlized versions available at:
> > > https://tools.ietf.org/html/draft-ietf-dmm-ondemand-mobility-17
> > > https://datatracker.ietf.org/doc/html/draft-ietf-dmm-ondemand-mobi
> > > li
> > > ty
> > > -17
> > >
> > > A diff from the previous version is available at:
> > > https://www.ietf.org/rfcdiff?url2=draft-ietf-dmm-ondemand-mobility
> > > -1
> > > 7
> > >
> > >
> > > Please note that it may take a couple of minutes from the time of 
> > > submission until the htmlized version and diff are available at tools.ietf.org.
> > >
> > > Internet-Drafts are also available by anonymous FTP at:
> > > ftp://ftp.ietf.org/internet-drafts/
> > >
> > > _______________________________________________
> > > dmm mailing list
> > > dmm@ietf.org
> > > https://www.ietf.org/mailman/listinfo/dmm
> >
> > _______________________________________________
> > dmm mailing list
> > dmm@ietf.org
> > https://www.ietf.org/mailman/listinfo/dmm
> > --------------------------------------------------------------------
> > - A member of the Intel Corporation group of companies
> >
> > This e-mail and any attachments may contain confidential material 
> > for the sole use of the intended recipient(s). Any review or 
> > distribution by others is strictly prohibited. If you are not the 
> > intended recipient, please contact the sender and delete all copies.
> >
> ---------------------------------------------------------------------
> A member of the Intel Corporation group of companies
>
> This e-mail and any attachments may contain confidential material for 
> the sole use of the intended recipient(s). Any review or distribution 
> by others is strictly prohibited. If you are not the intended 
> recipient, please contact the sender and delete all copies.
---------------------------------------------------------------------
A member of the Intel Corporation group of companies

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.