Re: [Anima-signaling] Take 2: Draft message on proposed change to GRASP

"Joel M. Halpern" <jmh@joelhalpern.com> Wed, 27 April 2016 23:56 UTC

Return-Path: <jmh@joelhalpern.com>
X-Original-To: anima-signaling@ietfa.amsl.com
Delivered-To: anima-signaling@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4A45B12D51A for <anima-signaling@ietfa.amsl.com>; Wed, 27 Apr 2016 16:56:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.702
X-Spam-Level:
X-Spam-Status: No, score=-2.702 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=joelhalpern.com
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 BCCHtOoBJyDm for <anima-signaling@ietfa.amsl.com>; Wed, 27 Apr 2016 16:56:49 -0700 (PDT)
Received: from maila2.tigertech.net (maila2.tigertech.net [208.80.4.152]) (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 156B112D509 for <anima-signaling@ietf.org>; Wed, 27 Apr 2016 16:56:49 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by maila2.tigertech.net (Postfix) with ESMTP id E1FCE2403A3; Wed, 27 Apr 2016 16:56:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelhalpern.com; s=1.tigertech; t=1461801408; bh=RA1mlg5c9iQMepZWWZEpsNnjNV6o5cGXdtCgMZmhByw=; h=Subject:To:References:From:Date:In-Reply-To:From; b=L8RtB4400OiEum1qkGhl/lD3pnk6TcclJTTolIdrCTjQfOZYbWzMnpsHb40xmp1Co ocKhu3qkD2d73RiYhRd8d7DcGNLGMarygDmBC7+OWOwBn4XP1/PjcDYnVwe5uUX5zM Aku6khnF99yIbdnPErk3Bs3UJPtp5FfOvJeGCNY8=
X-Virus-Scanned: Debian amavisd-new at maila2.tigertech.net
Received: from Joels-MacBook-Pro.local (209-255-163-147.ip.mcleodusa.net [209.255.163.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by maila2.tigertech.net (Postfix) with ESMTPSA id 60B9E240207; Wed, 27 Apr 2016 16:56:48 -0700 (PDT)
To: Brian E Carpenter <brian.e.carpenter@gmail.com>, Anima signaling DT <anima-signaling@ietf.org>
References: <8d68aa68-b88f-b888-3d12-0d0d3982a43b@gmail.com>
From: "Joel M. Halpern" <jmh@joelhalpern.com>
Message-ID: <38faf9a6-facd-06e0-492c-7423612087b2@joelhalpern.com>
Date: Wed, 27 Apr 2016 19:56:36 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:45.0) Gecko/20100101 Thunderbird/45.0
MIME-Version: 1.0
In-Reply-To: <8d68aa68-b88f-b888-3d12-0d0d3982a43b@gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/anima-signaling/7EylJgbJXOFq_9lU_881SKlRJEI>
Subject: Re: [Anima-signaling] Take 2: Draft message on proposed change to GRASP
X-BeenThere: anima-signaling@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Mailing list for the signaling design team of the ANIMA WG <anima-signaling.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima-signaling>, <mailto:anima-signaling-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/anima-signaling/>
List-Post: <mailto:anima-signaling@ietf.org>
List-Help: <mailto:anima-signaling-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima-signaling>, <mailto:anima-signaling-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 27 Apr 2016 23:56:50 -0000

The proposal looks fine.  I might adjust the "implementation" text 
slightly.  If someone implements multiple ASAs in a common address 
space, they can share the UDP port and demux using other fields.  This 
change allows them to be in separate spaces, without requiring it.

What I am commenting on the text "When it starts up, an ASA will ...". 
I think "will" is too strong.

Yours,
Joel

On 4/27/16 7:52 PM, Brian E Carpenter wrote:
> Hi,
>
> Design team, and Joel,
>
> Updated following the feedback received and trial implementation. Please
> let me know if OK; I would like to send this to the WG tomorrow.
>
> Short version:
>
> We propose that when an ASA listens for negotiation or synchronization
> requests, it should do so on its own transport port number rather than sharing
> the generic GRASP port number as currently defined. The consequence for the
> protocol is that discovery responses must include a complete transport address
> (locator+protocol+port) instead of just the locator.
>
> Long version:
>
> We want ASAs to run as separate modules in user address space, as applications,
> rather than being bundled with the GRASP engine in kernel space. To achieve this
> with all ASAs listening on the same port number would require quite complicated
> inter-process communication between the GRASP kernel and the indvidual ASAs.
> The details of this would be different in every operating system. If we
> allow each ASA to have its own port this can be avoided, and each ASA can have
> its own copy of the GRASP API library if required. This will make the systems
> engineering of portable ASAs much easier, and will make the adaptation of
> the GRASP API library and the GRASP kernel to various operating systems easier
> too.
>
> In practice we need to indicate the protocol (TCP or UDP) as well, since
> dynamic ports are assigned for a specific socket and protocol.
>
> We propose to redefine the locator returned by GRASP discovery accordingly. For
> the IPv6 case that would give the following CDDL:
>
> locator-option /= [O_IPv6_LOCATOR, ipv6-address, transport-proto, port-number]
> ipv6-address = bytes .size 16
> transport-proto = IPPROTO_TCP / IPPROTO_UDP
> IPPROTO_TCP = 6
> IPPROTO_UDP = 17
> port-number = 0..65535
>
> We did consider making this optional, but that would raise interoperability
> issues. If an implementation does choose to use the GRASP_LISTEN_PORT
> for all ASAs, that could simply be returned as the port-number.
>
> Implementation note:
>
> When it starts up, an ASA will obtain an ephemeral port number for each
> transport protocol that it supports, and that will be used in discovery
> responses.
>
> Comments?
>
> Note: Toerless Eckert brought up this problem and outlined the proposed
> solution.
>
>     Brian
>
>
>