On 20-mei-2005, at 21:06, Ralph Droms wrote:

In some scenarios there is a danger in the following approach:
- hosts boots
- looks for DHCP server, doesn't find one
- Keeps looking every couple of minutes

Yes, this would clearly be harmful in cases where hosts both use DHCPv6 and stateless autoconfiguration, but no DHCPv6 server is available. This especially adds up when there are many hosts on the subnet.

A client is free to use some other timeout (2 hours instead of 2
minutes?) if it chooses.

How is this useful? Either I want to know that a DHCPv6 server has become available, so waiting 2 hours is way too long, or I don't care, so why bother checking in the first place?

The situation where a server broadcasts its existence makes MUCH more sense.

But the real question is: how do we know we want to use DHCPv6 in the first place? Obviously in many cases the answer is simple: yes, I want it all the time, or no, I never want it.

But suppose some networks adopt DHCPv6 in lieu of stateless autoconfiguration for reasons that make sense to them (and work elsewhere, such as shim6, _may_ make this a somewhat more likely situation). It would then make sense for a laptop or similar client to have both stateless autoconfiguration and DHCPv6 on board for autoconfiguration. However, such a client wouldn't have any idea about the availability of either mechanism or their preference. Since presumably, DHCPv6 won't be available in many cases, an agnostic host wouldn't want to wait for DHCPv6 to fail when stateless autoconfig is available. On the other hand, some admins may strongly prefer hosts to use DHCPv6, but provide stateless autoconfig as a fallback for hosts that don't support DHCPv6. In that case, it would be better to ignore stateless autoconfig altogether when DHCPv6 works. The real problems start when DHCPv6 is preferred, but there is some kind of failure. Obviously the host should use stateless autoconfig in the mean time, but it would be useful if it were to switch to DHCPv6 as soon as the server becomes available.

So what we really need is a mechanism that says:

- DHCPv6 isn't available so don't bother with it
- DHCPv6 is available, but use stateless autoconfig unless you can't/ won't - DHCPv6 is available and equal to stateless autoconfig, use either but no need to use both
- DHCPv6 is available and equal to stateless autoconfig, use both
- DHCPv6 is available and preferred, use it exclusively if you can

Something similar is probably needed for the O flag.

In addition, it would be useful to have some kind of flag that indicates that the DHCPv6 server status has changed so hosts should refresh their leases and other information.

Obviously all of this can't be accommodated with two bits in RAs. So we can:

- forget the whole thing and let the implementers/admins figure it out
- hammer on it until it fits in the m and o bits
- come up with an RA/ND option that has room for all of this

(It would be cool to find a way to integrate DHCPv6 and RAs to some degree, though. For instance, by allowing DHCP options in RA options.)

--------------------------------------------------------------------
IETF IPv6 working group mailing list
[email protected]
Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

Reply via email to