Re: A common problem with SLAAC in "renumbering" scenarios

Lorenzo Colitti <lorenzo@google.com> Wed, 20 February 2019 23:46 UTC

Return-Path: <lorenzo@google.com>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7837F1274D0 for <ipv6@ietfa.amsl.com>; Wed, 20 Feb 2019 15:46:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.501
X-Spam-Level:
X-Spam-Status: No, score=-17.501 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 NNe1VxZDyN9l for <ipv6@ietfa.amsl.com>; Wed, 20 Feb 2019 15:46:23 -0800 (PST)
Received: from mail-it1-x12a.google.com (mail-it1-x12a.google.com [IPv6:2607:f8b0:4864:20::12a]) (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 66579130E58 for <ipv6@ietf.org>; Wed, 20 Feb 2019 15:46:23 -0800 (PST)
Received: by mail-it1-x12a.google.com with SMTP id f10so19750551ita.4 for <ipv6@ietf.org>; Wed, 20 Feb 2019 15:46:23 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=rnGyakiP1ENIDKC7OApBgGLrAVJy925K4+CGOka1ra4=; b=uFFsncTOKncgElOctZ5F4Zvpy70AQeBuG12ALExsbDTnMncbyCOYJMfcKgnoeHjccL tbwltocjTBIvRvO0x+vr2eecktVMXoSsG6LG/5knZKJgA/368KrcVRKxx1rxV0ji1rIS 0srzHeoPZOg+62BWNaY+W1MgILrFLxbp6DRfr+6Q/An5My5TQEXk0A6/E66T8+e/vdNl NRo5M8utsYef0QntTbmqGcYfEPlaK1nCWNGth/A01ytd9qWaif24Hf5ridNPGQ+nJev2 IKJGX1W2YORoc99yw4G/GxMutPbJTP3aw3kTb+wYb7BfomHwEdcyUFmrCptg5P2BDolr 9d7g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=rnGyakiP1ENIDKC7OApBgGLrAVJy925K4+CGOka1ra4=; b=RM7E/HbTcgkzZ4qYzN4EY9VeFfiIg4qSjsbX8h8mHAMugh9DtLB6wPbOrKysKnK8Dy 5NCLk5fc6tm4bkl6QWL/1c73K/NoRNS8juyqAVSWufbynVUwpnn+tUY4CBZw3fcOOLEQ RSAYhk1Knn2wOIh77MZ3ovjPZR1irgg7qnNNYPeHPOHzbF0zr4cP23eE+jVGS2EmrIKs LImDUzxp3GuAErgtTXc+TLW+vbjxLyIjDgD3GxGxQkbbAvAf9rnPwLKBPK+7M7YTdFHK gy+r1+Pr8+wl/5j0bujBXZFgA17DWHmflLIPNvFtPc1eedFBDhJWQQJf6Mdm+6FcWyt7 kadA==
X-Gm-Message-State: AHQUAubi5Cr/nVONCCASWhKA0l9nrivM5JXfGPaBbskBDSZoMRH87H5U iW3JLBJMxSDgYOzZhm7XY3yLIS/DW7pPz+gfYhYWuK3wKk4=
X-Google-Smtp-Source: AHgI3IaFuIP+X/03BNKJbpIOTK3+cy84aLC7OHx9JTTtg9SA67xA7bdNqUhatIMX0LBkFDJWX4fRvJX3nGgxlUR++VA=
X-Received: by 2002:a5d:848d:: with SMTP id t13mr23037775iom.278.1550706382328; Wed, 20 Feb 2019 15:46:22 -0800 (PST)
MIME-Version: 1.0
References: <60fabe4b-fd76-4b35-08d3-09adce43dd71@si6networks.com> <4c5fab33-2bff-e5b5-fc1d-8f60a01a146d@go6.si> <b4525832-9151-20bf-7136-31d87ba6c88d@huitema.net> <463f15cf-2754-e2e8-609d-dc0f33448c6c@go6.si> <ff649810-7242-7bc2-d36f-3f998f7bdd71@asgard.org> <9CDF41CA-83B4-4FC4-B995-EF79727C5458@steffann.nl> <CAO42Z2wA+vLmU7+sU6xLK7TO6pWfNQA5shs9zp=PqANCihLmBQ@mail.gmail.com> <BAB3061A-1808-4C0E-AA1B-2D7DD5BA63FC@employees.org> <bbd8b761-403a-5b3f-3f04-dc3bfdea116e@foobar.org> <6F3036C6-50A1-43C6-B554-31293B69E59D@employees.org> <433607c1-dbc6-a42e-cb17-dc209e33bdaa@si6networks.com> <12EA4FAE-BE3D-4CFE-9837-DF052F79A998@employees.org> <5bc3eaf0-3ef0-d954-b228-00a7faac7f4c@si6networks.com> <CAO42Z2wa9gWoB_bWrYt79urHF8ihmMAbjDSZCBoZa8dn8SCNFw@mail.gmail.com> <alpine.DEB.2.20.1902200735480.24327@uplift.swm.pp.se> <CAO42Z2xwyes97LAy1duXpJMeknJhmkA6yV-tWCPLmw6QvOuKbQ@mail.gmail.com> <CAKD1Yr0t8MEg-SRukTKM9VjLSaJB4tc-uhxJkX2U-3gQX2PvWQ@mail.gmail.com> <alpine.DEB.2.20.1902200952530.24327@uplift.swm.pp.se>
In-Reply-To: <alpine.DEB.2.20.1902200952530.24327@uplift.swm.pp.se>
From: Lorenzo Colitti <lorenzo@google.com>
Date: Thu, 21 Feb 2019 08:46:10 +0900
Message-ID: <CAKD1Yr3j63Y9Bu19yjV+dx2G-SYAdkELC3W2XWoXtrHgoR0bBg@mail.gmail.com>
Subject: Re: A common problem with SLAAC in "renumbering" scenarios
To: Mikael Abrahamsson <swmike@swm.pp.se>
Cc: 6man WG <ipv6@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000012566f05825bf774"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/1ZMvpfT-lJdQCJ82Cg6LBw73q-M>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 20 Feb 2019 23:46:26 -0000

On Wed, Feb 20, 2019 at 6:03 PM Mikael Abrahamsson <swmike@swm.pp.se> wrote:

> I contacted linux-netdev about this, and I got no sympathy to close down
> the sessions if the addresses were gone. "Oh, the addresses might come
> back". Even when I said I'd like to be able to have this as a setting to
> close down the sessions, that I knew it won't come back I kept getting
> ""how do you know?"
>
> How do you close them in Android? Did you write your own userspace code to
> find sockets bound to addresses that were no longer available and close
> them down?
>

Not quite. I added a SOCK_DESTROY operation to the netlink SOCK_DIAG
interface that allows userspace to force-close TCP connections. As you can
imagine that was a bit controversial, but it was accepted after discussion
(partly because it turned out that BSD already had a way to do this). We
call this in various situations, most commonly when an IP address goes
away. Look at SockDiag.cpp or sock_diag_test.py.