Subject: Re: [v6ops] M/O flags and PD

From: "STARK, BARBARA H" <[email-masked]>
Date: Mon, 2 Nov 2015 19:30:09 +0000

> >> Even if you accept that, in the case that you *don't* know that such
> >> information is available, you physically cannot set the M or O flag.
> >> So in the real world, a node that is interested in IA_PD had better
> >> go fishing for it, whatever the MO bits say. So I retract all the if
> >> statements in the pseudocode that I sent. The only robust
> >> implementation is one that always looks for DHCPv6 information.

Just to provide some additional context/history...
BBF TR-124 (https://www.broadband-forum.org/technical/download/TR-124_Issue-4.pdf, whose IPv6 requirements predate RFC 7084) requires simultaneous DHCPv6 solicit (for IA_NA, IA_PD, and everything else) and RS from the telco ISP-procured "CE router" (RG in TR-124). In BBF we saw no need to wait for the RA. 
The eRouter people wanted their routers to wait for M=1, though, before doing DHCPv6 solicit, because they were having a field trial issue where they only wanted select CE routers to solicit from the DHCPv6 server. They weren't ready for all CE routers to be soliciting (and this was before SOL_MAX_RT so the unwanted CE routers were soliciting every 2 minutes and overwhelming the field trial DHCPv6 servers). 
The current RFC 7084 language allows the eRouters to wait for RA and only Solicit when M or O = 1, but doesn't preclude the BBF simultaneous RS/DHCPv6. Retail CE router vendors can decide for themselves what they want to do. 
>From the access network perspective, independent of whether the CE router is just RFC 7084, or is eRouter or TR-124, the access network can ensure DHCPv6 Solicit by use of M or O = 1 flags (since "simultaneous" implementations will always do DHCPv6, including when M or O = 1). They can't prevent all unwanted DHCPv6 Solicit, but apparently there weren't enough "simultaneous" implementations to cause issues in cable networks. They designed the eRouter to only do DHCPv6 Solicit when M or O = 1. This was a compromise solution and is the reason M = O = 0 is out of scope in RFC 7084.
Barbara