Re: [Anima] GRASP DULL, IPv6 LL scope and multicast and BSD sockets API

Michael Richardson <mcr+ietf@sandelman.ca> Wed, 07 April 2021 14:57 UTC

Return-Path: <mcr+ietf@sandelman.ca>
X-Original-To: anima@ietfa.amsl.com
Delivered-To: anima@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B67FD3A1BC5 for <anima@ietfa.amsl.com>; Wed, 7 Apr 2021 07:57:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level:
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, 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 Vyv-pnvJ8QjX for <anima@ietfa.amsl.com>; Wed, 7 Apr 2021 07:57:06 -0700 (PDT)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [IPv6:2607:f0b0:f:3:216:3eff:fe7c:d1f3]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3E51A3A1BC3 for <anima@ietf.org>; Wed, 7 Apr 2021 07:57:06 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by tuna.sandelman.ca (Postfix) with ESMTP id 5833A389F3; Wed, 7 Apr 2021 11:03:50 -0400 (EDT)
Received: from tuna.sandelman.ca ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 0N3MRbtwQ2d0; Wed, 7 Apr 2021 11:03:50 -0400 (EDT)
Received: from sandelman.ca (obiwan.sandelman.ca [IPv6:2607:f0b0:f:2::247]) by tuna.sandelman.ca (Postfix) with ESMTP id E6254389BF; Wed, 7 Apr 2021 11:03:49 -0400 (EDT)
Received: from localhost (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id 661DE63D; Wed, 7 Apr 2021 10:57:00 -0400 (EDT)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: Brian E Carpenter <brian.e.carpenter@gmail.com>
cc: anima@ietf.org
In-Reply-To: <3b6552e0-964a-db86-6440-9dac8e54522f@gmail.com>
References: <7643.1617727789@localhost> <3b6552e0-964a-db86-6440-9dac8e54522f@gmail.com>
X-Mailer: MH-E 8.6+git; nmh 1.7+dev; GNU Emacs 26.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha512"; protocol="application/pgp-signature"
Date: Wed, 07 Apr 2021 10:57:00 -0400
Message-ID: <27460.1617807420@localhost>
Archived-At: <https://mailarchive.ietf.org/arch/msg/anima/nVAPivO5kq9E3UW1K_MmJd2Gf2s>
Subject: Re: [Anima] GRASP DULL, IPv6 LL scope and multicast and BSD sockets API
X-BeenThere: anima@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Autonomic Networking Integrated Model and Approach <anima.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima>, <mailto:anima-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/anima/>
List-Post: <mailto:anima@ietf.org>
List-Help: <mailto:anima-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima>, <mailto:anima-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2021 14:57:11 -0000

Brian E Carpenter <brian.e.carpenter@gmail.com> wrote:
    > 2. At startup, I create a socket for multicast sending for each interface in that list.
    > Details are in the function '_try_mcsock', including setting SO_REUSEADDR, 1,
    > IPV6_MULTICAST_LOOP, 0 and IPV6_MULTICAST_HOPS, 1.

I don't think I've set MULTICAST_LOOP, so I will investigate that.

    > 4. To listen for multicasts, I have a thread that listens to a single socket
    > with SO_REUSEADDR, 1 that is bound to GRASP_LISTEN_PORT and explicitly joins
    > ALL_GRASP_NEIGHBORS_6 on each interface. I don't understand my own code (magic
    > borrowed from stackoverflow) but it's just after 'class
    > _mclisten(threading.Thread)'

So it joins ALL_GRASP_NEIGHBOURS multiple times.
I didn't think I could do that.  That would be better.

    > I hope that helps. This is code I wrote years ago now, and I'm not proud
    > of it; in fact I'm frightened to touch it. A few remarks in line below:

Yes, it does help.

--
Michael Richardson <mcr+IETF@sandelman.ca>   . o O ( IPv6 IøT consulting )
           Sandelman Software Works Inc, Ottawa and Worldwide