Re: Link addressing (was: Re: A Plea for Architectural & Specification Stability with IPv6)

Ole Troan <otroan@employees.org> Tue, 25 March 2014 09:01 UTC

Return-Path: <otroan@employees.org>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AB3AC1A03A1 for <ipv6@ietfa.amsl.com>; Tue, 25 Mar 2014 02:01:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.011
X-Spam-Level:
X-Spam-Status: No, score=-2.011 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 weU5b53ddg1U for <ipv6@ietfa.amsl.com>; Tue, 25 Mar 2014 02:01:05 -0700 (PDT)
Received: from banjo.employees.org (banjo.employees.org [198.137.202.19]) by ietfa.amsl.com (Postfix) with ESMTP id 3CDE81A0379 for <ipv6@ietf.org>; Tue, 25 Mar 2014 02:01:05 -0700 (PDT)
Received: from banjo.employees.org (localhost [127.0.0.1]) by banjo.employees.org (Postfix) with ESMTP id 3944160A0; Tue, 25 Mar 2014 02:01:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=employees.org; h= content-type:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; s=selector1; bh=zwoGgLdyCoz6wLLkkzG0t Hrwvfw=; b=ZGgZZOK7UoOaovn0cffIxPAlgEIgaTIuYLLoIasw2ogTiwCzLBhqD A8Ej1HLgW/tmGJve9wWARVDnWG0cKAHF5LLscJ/JNOc5/A5FDR2V4YoQGxJcK7eb Kp6+UHt6ASeiTyAKJL05TzMboof8hOXMz78xQQ1alwVx6s0aCHhqw8=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=employees.org; h= content-type:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; q=dns; s=selector1; b=a0Zhyd8E3+uMgYK dGnJbQo9qTyXp1MR8gaqMeYr5kGu4yaYRusdyzzIYlP3DaOlP1rjrEzNXl1Jxlxx lWFx2IMkI7C5WXTisyYn9EhldnsEyp+yz3B94/M5MtozFIlkuQNfETP1wwBaXsLs cfWjXhHUEW4ZtxyPQC7IRk2e6lOw=
Received: from dhcp-lys01-vla250-10-147-112-204.cisco.com (173-38-208-170.cisco.com [173.38.208.170]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: otroan) by banjo.employees.org (Postfix) with ESMTPSA id D6BCA602F; Tue, 25 Mar 2014 02:01:00 -0700 (PDT)
Content-Type: multipart/signed; boundary="Apple-Mail=_D16E36C7-7EED-49ED-9763-8A77BB386BBE"; protocol="application/pgp-signature"; micalg="pgp-sha512"
Mime-Version: 1.0 (Mac OS X Mail 7.2 \(1874\))
Subject: Re: Link addressing (was: Re: A Plea for Architectural & Specification Stability with IPv6)
From: Ole Troan <otroan@employees.org>
In-Reply-To: <1395734236.95811.YahooMailNeo@web162205.mail.bf1.yahoo.com>
Date: Tue, 25 Mar 2014 10:00:59 +0100
Message-Id: <242C4677-874B-463B-BB67-AE6EA1E6BF38@employees.org>
References: <E2C06D73-99FF-42B5-A3BE-337C307BCB0E@gmail.com> <84411F3C-455C-4382-88E2-8EE397A907B9@gdt.id.au> <0E222788-7CDA-4962-B03B-BD069956A471@employees.org> <5AFA59A4-A4F1-48C4-B402-0CAA1E752ED1@gdt.id.au> <862E0FF1-09B6-46DE-83E2-BA3AF3512895@employees.org> <1395734236.95811.YahooMailNeo@web162205.mail.bf1.yahoo.com>
To: Mark ZZZ Smith <markzzzsmith@yahoo.com.au>
X-Mailer: Apple Mail (2.1874)
Archived-At: http://mailarchive.ietf.org/arch/msg/ipv6/LXjDEo4TYiAQtNSWzifTSAoSVec
Cc: RJ Atkinson <rja.lists@gmail.com>, 6man WG <ipv6@ietf.org>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.15
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: <http://www.ietf.org/mail-archive/web/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: Tue, 25 Mar 2014 09:01:06 -0000

Mark,

[...]

>> routers (as defined in RFC4861) don't autoconfigure addresses using SLAAC. 
>> that's a host function.
> 
> Being pedantic, the SLAAC RFC (RFC4862) says that "it is expected that routers will generate link-local addresses using the mechanism described in this document."

perhaps we need better terminology here. it is useful to have a distinction between addresses that are formed based on appending an interface-identifier to a well-known prefix (link-local) or manually configured prefix, and how an address is formed based on receiving a /64 prefix in an RA and forming an address from that.

I prefer to use the term SLAAC for the latter. i.e. a host following the procedure in RFC4862 section 5.5.

> The question I've wondered a bit about is what is the common operational or implementation practice when configuring manual addresses on routers.
> 
> For people who configure static addresses on router interfaces, do they actively switch SLAAC off for either individual prefixes, or for the whole interface? Switching SLAAC off for the whole interface means that if there is no static LL address, then the interface doesn't comply with the RFC4291 requirement for all IPv6 interfaces to have an LL address, and can't use any functions/protocols that rely on LLs. An interface probably shouldn't be able to be used for IPv6 if there are no LL addresses present.

I don't understand what you mean by "switching SLAAC off" on an interface. on a router does that mean sending RAs with the A-flag in PIO off? or do you mean that a link-local or global address isn't formed based on an automatically generated interface-id (EUI-64, privacy, stable, ...)?

> Alternatively, if SLAAC is left enabled for the LL prefix, then there is likely to now be two LLs on the interface. Static configuration of an LL address would usually indicate preference for its use for all LL traffic over the SLAAC LL address, which may be a problem, because IIRC, RFC6724 doesn't place any preference for static addresses over SLAAC addresses.

typically applications using link-local addresses, do their own source address selection.

for the implementation I'm most familiar with, we only allow a single link-local address per interface. by default that's based on the modified EUI-64 interface-identifier, but it can be manually set to whatever you like.
the same for global addresses. including a short-hand for specifying the length of the on-link prefix.

there is nothing stopping an implementation having multiple link-locals for an interface, e.g. there was at some point someone advocating that every global address should have a corresponding link-local. it isn't clear what the benefit of having multiple link-locals on an interface would be though.

cheers,
Ole