RE: Combining IPv6 ND and DHCPv6 into a single, unified function

"Bernie Volz (volz)" <> Mon, 20 November 2017 22:17 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C23E212EAA8; Mon, 20 Nov 2017 14:17:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.52
X-Spam-Status: No, score=-14.52 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id ht2wn5Jv2Rkj; Mon, 20 Nov 2017 14:17:43 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 5CAC012704A; Mon, 20 Nov 2017 14:17:43 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=5567; q=dns/txt; s=iport; t=1511216263; x=1512425863; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=o7Gbr6O1d1hKAY5ie5y8CcLvt35i+SMSHGSvCtnlry8=; b=XdHC2EN2qjTMSlblS07XBLHcIjvX18NhEL9otCzQoKRBJ0Oafdbkf/PP yM/xmvbOoBo8G2Iztdqa4fBt+QrlYZUbpDSExXEvS5eUd1/QgyTNiizw4 C4cwMsQ/rU64nhK7VTFrj1Q0Lc82ampNEIbFG9QVca0Wr/dLh7JAlVJUN E=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.44,430,1505779200"; d="scan'208";a="33593890"
Received: from ([]) by with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Nov 2017 22:17:42 +0000
Received: from ( []) by (8.14.5/8.14.5) with ESMTP id vAKMHgHN012026 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Mon, 20 Nov 2017 22:17:42 GMT
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.0.1320.4; Mon, 20 Nov 2017 16:17:41 -0600
Received: from ([]) by ([]) with mapi id 15.00.1320.000; Mon, 20 Nov 2017 16:17:41 -0600
From: "Bernie Volz (volz)" <>
To: "Templin, Fred L" <>
CC: "" <>, "" <>, "" <>
Subject: RE: Combining IPv6 ND and DHCPv6 into a single, unified function
Thread-Topic: Combining IPv6 ND and DHCPv6 into a single, unified function
Thread-Index: AdNiReoj4OrwrQYST+iGtIF1uM57NgABURPw
Date: Mon, 20 Nov 2017 22:17:41 +0000
Message-ID: <>
References: <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: []
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <>
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 20 Nov 2017 22:17:46 -0000


I'm not so sure that this idea is really needed. You can always start both RS and DHCPv6 at the same time if you always know you want to use DHCPv6?

In section 2, aren't you missing some "pad" octets to "make" the DHCPv6 message (really the IPv6 ND DHCPv6 option) a multiple of 8 octets long (as the "Length" field in the ND header is a multiple of 8). A better design, because there are no DHCPv6 "pad" options, might be:

A) The pad bytes are after the IPv6 ND Length field (your reserved) and depend on the padding needed - these would be 0 octets before the msg-type to make the length work out (so the IPv6 ND DHCPv6 option ends at an 8 octet boundary). When extracting the DHCPv6 message, any first octets that are 0 values would be skipped to find the start of the msg-type (since the DHCPv6 msg-type cannot be 0).

B) Use the 2 reserved octets to specify the real length of the DHCPv6 message. Any octets beyond these are ignored. Alternatively, you could use 1 octet to indicate the number of pad octets (and leave the other octet as reserved).

And, of course the maximum sized DHCPv6 message you can send is 8 * 256 - 4 = 2,044 octets.

Also, for the "DHCPv6 Solicit" message, I think you want to say "DHCPv6 Solicit w/Rapid Commit"? (You mention Rapid Commit only in the Introduction.)

- Bernie

-----Original Message-----
From: v6ops [] On Behalf Of Templin, Fred L
Sent: Monday, November 20, 2017 4:41 PM
Subject: [v6ops] Combining IPv6 ND and DHCPv6 into a single, unified function


IPv6 ND and DHCPv6 have traditionally been thought of as independent functions, with the requirement that the IPv6 ND RS/RA exchange has to happen first so that the node can examine the M/O bits to determine whether it can use DHCPv6. As nearly as I can tell, this two round-trip process (IPv6 RS/RA followed by DHCPv6
Solicit/Reply) is the only argument conceivable against DHCPv6 from a functional standpoint.

The two round-trip process can add significant delay and waste bandwidth especially on low-end data links like many aviation wireless links. It can also impart unnecessary messaging overhead on more robust links during periods of congestion.

This document therefore proposes a unification of IPv6 ND and DHCPv6 where the two functions work together as if they were one. This is accommodated by a new IPv6 ND option in RS/RA messages called the "DHCPv6 option". By working together as one function, IPv6 ND and DHCPv6 can supply requesting nodes with all link-specific autoconfiguration information and any managed address/prefix delegations in a single round trip message exchange.

I would ask these discussion lists to consider what is it that you really don't like about DHCPv6. Maybe you think it is ugly. Maybe you don't like the way the acronym rolls off your tongue when you speak it. Maybe it has an onerous stigma of being stateful. But, then I would also ask you to consider what a replacement would look like. Because, I think any suitable replacement would have to essentially duplicate what DHCPv6 already does.



-----Original Message-----
From: I-D-Announce [] On Behalf Of
Sent: Monday, November 20, 2017 1:21 PM
Subject: I-D Action: draft-templin-6man-dhcpv6-ndopt-00.txt

A New Internet-Draft is available from the on-line Internet-Drafts directories.

        Title           : The DHCPv6 Option for IPv6 Neighbor Discovery
        Author          : Fred L. Templin
	Filename        : draft-templin-6man-dhcpv6-ndopt-00.txt
	Pages           : 6
	Date            : 2017-11-20

   IPv6 Neighbor Discovery (IPv6ND) specifies a control message set for
   nodes to discover neighbors, routers, prefixes and other services on
   the link.  It also supports a manner of StateLess Address
   AutoConfiguration (SLAAC).  The Dynamic Host Configuration Protocol
   for IPv6 (DHCPv6) specifies a service for the stateful delegation of
   addresses and prefixes.

   Currently, at least two round-trip message exchanges are necessary in
   order to perform the IPv6ND router discovery and DHCPv6 address/
   prefix delegation functions.  This document presents a protocol for
   combining these two round trips into a single round trip by joining
   the two services into a single unified service.

The IETF datatracker status page for this draft is:

There are also htmlized versions available at:

Please note that it may take a couple of minutes from the time of submission until the htmlized version and diff are available at

Internet-Drafts are also available by anonymous FTP at:

I-D-Announce mailing list
Internet-Draft directories: or

v6ops mailing list