Re: [v6ops] draft-ietf-v6ops-host-addr-availability discussion

"Templin, Fred L" <> Tue, 03 November 2015 01:31 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 630A21B2B09 for <>; Mon, 2 Nov 2015 17:31:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 9Bou8yoi_uix for <>; Mon, 2 Nov 2015 17:31:26 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 7C6C91ACD2E for <>; Mon, 2 Nov 2015 17:31:26 -0800 (PST)
Received: from localhost (localhost []) by (8.14.4/8.14.4/DOWNSTREAM_MBSOUT) with SMTP id tA31VOCA022143; Mon, 2 Nov 2015 18:31:24 -0700
Received: from ( []) by (8.14.4/8.14.4/UPSTREAM_MBSOUT) with ESMTP id tA31VFX9021751 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=OK); Mon, 2 Nov 2015 18:31:15 -0700
Received: from ([]) by ([]) with mapi id 14.03.0235.001; Mon, 2 Nov 2015 17:31:14 -0800
From: "Templin, Fred L" <>
To: Lorenzo Colitti <>
Thread-Topic: [v6ops] draft-ietf-v6ops-host-addr-availability discussion
Thread-Index: AQHRFS2IJ4h76jRqCkuPztS49pNk7Z6JZjuggACchgD//3qXcIAABmrA
Date: Tue, 3 Nov 2015 01:31:14 +0000
Message-ID: <>
References: <> <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_2134F8430051B64F815C691A62D9831832F3941DXCHBLV504nwnosb_"
MIME-Version: 1.0
X-TM-AS-MML: disable
Archived-At: <>
Cc: "" <>
Subject: Re: [v6ops] draft-ietf-v6ops-host-addr-availability discussion
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: v6ops discussion list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 03 Nov 2015 01:31:30 -0000

Bumping up one level – is it clear to everyone that it is OK to assign addresses
taken from a DHCPv6 delegated prefix to the interface over which the prefix
was received? And, that DAD is not required for those addresses?

Thanks - Fred

From: v6ops [] On Behalf Of Templin, Fred L
Sent: Monday, November 02, 2015 5:24 PM
To: Lorenzo Colitti
Subject: Re: [v6ops] draft-ietf-v6ops-host-addr-availability discussion

Hi Lorenzo,

Responses below in “green”:

From: Lorenzo Colitti []
Sent: Monday, November 02, 2015 5:04 PM
To: Templin, Fred L
Cc: Fred Baker (fred);<>
Subject: Re: [v6ops] draft-ietf-v6ops-host-addr-availability discussion

On Tue, Nov 3, 2015 at 8:59 AM, Templin, Fred L <<>> wrote:
I have one text addition suggestion and one question. On P. 7, in Table 1,
suggest adding a new final row as follows:

  requires DAD               Yes                  Yes                   No                 N/A

Meaning that multi-addresses configured by SLAAC or DHCPv6 IA_NA/IA_TA
must use DAD to check for duplicates on the link they were obtained. In a
multi-addressing environment where millions of addresses are required,
this could amount to a substantial amount of DAD multicast traffic. On the
other hand, DAD is not needed for DHCPv6 PD because the network has
unambiguously delegated the prefix for the node's exclusive use.

I don't think "Requires DAD: No" is correct. Even if the device gets a /64 prefix entirely for its own use, it still needs to do DAD with any other devices on that /64 (e.g., tethered devices, VMs, etc.).

I'm not opposed to adding a line to the table, though I don't think it provides much value - if we put our mind to it, I'm sure we could come up with lots of things we could add to the table that aren't there at the moment. My main concern is that if we add something to the table it needs to be correct.

What I mean is “Requires DAD on the interface over which the prefix was received”,
but that was too long to fit in the table. Let’s call the interface “A”. If the node gets
SLAAC addresses or DHCP IA_NA/IA_TA addresses over interface “A”, then it needs
to do DAD on interface “A” for each such address. If the node gets a DHCPv6 PD
over interface “A”, however, it does not need to do DAD over interface “A” at all.

If the node assigns the delegated prefix to interface “B”, then you are right that
that DAD will be required among all tethered devices, VMs, etc. on interface “B”.
But, there will still be no need for DAD on interface “A”. Does that clarify?

I have a question also on table 1. Under ""Unlimited" endpoints", why does
it say "no" for DHCPv6 PD? I think it should say "yes" instead, since a prefix
obtained by DHCPv6 PD can be used to configure an unlimited number of
addresses on the link over which the prefix was received.

The table is written from the perspective of the network assigning addresses to devices that connect to it. Therefore, it says "no" because if you use DHCPv6 PD you can't assign address space to an unlimited number of endpoints - you are limited to however many /64s you have available.

If you use IA_NA or SLAAC, any network with a /64 subnet has, at least in theory, an "unlimited" number of addresses to assign to clients. Of course, that's only true in theory. In practice, there's going to be a limit due to scaling reasons.

I don’t understand this. True that SLAAC and DHCPv6 IA_NA/IA_TA can be used
to assign an unlimited number of addresses to interface “A”. But, so can DHCPv6
PD. When the node receives the delegated prefix (e.g., a /64), it can assign as
many unique IPv6 addresses as it likes to interface “A”. And again, it need not
do DAD for any of them.