Re: [Anima-signaling] GRASP relaying

Brian E Carpenter <brian.e.carpenter@gmail.com> Sat, 09 January 2016 19:17 UTC

Return-Path: <brian.e.carpenter@gmail.com>
X-Original-To: anima-signaling@ietfa.amsl.com
Delivered-To: anima-signaling@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C19411A89C4 for <anima-signaling@ietfa.amsl.com>; Sat, 9 Jan 2016 11:17:11 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=ham
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 Uo0-hXvBRk4n for <anima-signaling@ietfa.amsl.com>; Sat, 9 Jan 2016 11:17:10 -0800 (PST)
Received: from mail-pf0-x231.google.com (mail-pf0-x231.google.com [IPv6:2607:f8b0:400e:c00::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6BA2B1A89B8 for <anima-signaling@ietf.org>; Sat, 9 Jan 2016 11:17:10 -0800 (PST)
Received: by mail-pf0-x231.google.com with SMTP id n128so24916911pfn.3 for <anima-signaling@ietf.org>; Sat, 09 Jan 2016 11:17:10 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:from:organization:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=KY+/y+pUGKx5lvn9IoOTNgASZ/uDBR79yfOgqFO2LJI=; b=1CYApoUgHkjK40DfVEBgSudUEpXHU4C0zrE/2PSDR5lazHHkUemIPwxbOqLGDb0BVF CaX4zZD06wOig8BanXyww+zr+eLZ6wOua4eUUax4Y4pXSsq9LzyibYOeHgHbF9cN0t/k 3LqVymYD2UB169XBRGVT1Svf72M0JZXbxurXjXfeJ9YQ57T1nS0JS/nW5XxgBEtOcdz0 +yVtFXzx5eGutg4i3r5swUD3G0qqcKJ5crobkDDsW17pCW146KNCSa03EwhpxUsK9TNo pHVbscAnZgxd8qW9XErGOOJzqNuhH7TUveC3+XomzxHtFZhPCXHDkwOnrA49KVh2Lgny fmzA==
X-Received: by 10.98.74.71 with SMTP id x68mr14085993pfa.80.1452367030160; Sat, 09 Jan 2016 11:17:10 -0800 (PST)
Received: from ?IPv6:2406:e007:48c3:1:28cc:dc4c:9703:6781? ([2406:e007:48c3:1:28cc:dc4c:9703:6781]) by smtp.gmail.com with ESMTPSA id qj8sm34409201pac.40.2016.01.09.11.17.07 for <anima-signaling@ietf.org> (version=TLSv1/SSLv3 cipher=OTHER); Sat, 09 Jan 2016 11:17:08 -0800 (PST)
To: Anima signaling DT <anima-signaling@ietf.org>
References: <568881F7.3000603@gmail.com>
From: Brian E Carpenter <brian.e.carpenter@gmail.com>
Organization: University of Auckland
Message-ID: <56915CD2.40305@gmail.com>
Date: Sun, 10 Jan 2016 08:17:38 +1300
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0
MIME-Version: 1.0
In-Reply-To: <568881F7.3000603@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/anima-signaling/lq1PIBxKUB8PGsR9ahKN_NetowA>
Subject: Re: [Anima-signaling] GRASP relaying
X-BeenThere: anima-signaling@ietf.org
X-Mailman-Version: 2.1.15
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: Sat, 09 Jan 2016 19:17:11 -0000

On 03/01/2016 15:05, Brian E Carpenter wrote:

...
> 4. A bit to my surprise, the session ID is also pretty much useless
> in discovery (M_DISCOVERY and M_RESPONSE messages), except for loop
> prevention. The reason for this is quite complex. In the prototype,
> things work as follows:
> 
> An ASA calls discover(objective, timeout). Here's
> what discover does (simplified):
> 
> if the objective is already in the discovery cache:
>     return cached locators
> else:
>     send M_DISCOVER message on each interface
>     launch a listener thread for each interface*
>     wait (at most) until timeout
>     if the objective is now in the discovery cache:
>         return cached locators
>     else:
>         return nothing
> 
> Each separate listener thread waits for any M_RESPONSE
> replies, and adds them to the cache.
> 
> *(yes, I know, in theory one thread can listen to replies from
> all interfaces, but I tested it and it didn't work)
> 
> The bottom line is that although the M_RESPONSEs will carry
> the same Session ID, it is not used in any way.

I need to correct this. I found an error in the way I handled
listening for M_RESPONSE messages: in fact they all end up
arriving on the same socket for a given interface, and the code
*does* need to demultiplex them using the Session ID.

However this doesn't change anything in the GRASP protocol.

    Brian