Subject: Re: WG ACTION: 1 week continued discussion [LL70] DNAv4 normative or informative?

From: Bernard Aboba <[email-masked]>
Date: Thu, 27 May 2004 15:31:05 -0700 (PDT)

The following paragraph (which Philip and others objected to) was not
included in my original proposal, so I'd agree that it is meaningless
and should be deleted:

"   When an interface has a routable address configured on an interface,
   is based solely on the state of the interface, and is independent of
   any other protocols such as DHCP.  A host MUST NOT alter its behavior
   and use of other protocols such as DHCP because the host has assigned
   an IPv4 Link-Local address to an interface."

I also agree with Philip's proposed editorial improvement:

"  When a routable address is configured on an interface,
   the host SHOULD NOT also assign an IPv4 Link-Local address to that
   interface."

In terms of the substantative issue, I agree with Philip that it makes no
sense to prevent a host from using IPv4LL on an interface that has an
incorrect or unuseable routable address.  But I'm not clear that the term
"valid" (at least in the DNAv4 usage) is helpful in making this
clear.

IMHO, the only thing that matters in a given situation is whether the host
will use a given address to source packets or will accept packets destined
to that address.  This can differ between existing connections
and new connections.

Unfortunately, I think the text contradicts itself in places, using
SHOULD and SHOULD NOT normative language to describe the same
behavior.

Here is the proposed text with Philip's two editorial comments
incorporated. Comments/improvements/edits welcome.

"  Having addresses of multiple different scopes assigned to an
   interface, with no adequate way to determine in what circumstances
   each address should be used, leads to complexity for applications and
   confusion for users.  A host with an address on a link can
   communicate with all other devices on that link, whether those
   devices use Link-Local addresses, or routable addresses.  For these
   reasons, a host SHOULD NOT have both a routable address and an IPv4
   Link-Local address configured on the same interface.  When
   a routable address is configured on an interface, the host SHOULD NOT
   also assign an IPv4 Link-Local address on that interface.

   The assignment of an IPv4 Link-Local address on an interface
   is based solely on the state of the interface, and is independent of
   any other protocols such as DHCP.  A host MUST NOT alter its behavior
   and use of other protocols such as DHCP because the host has assigned
   an IPv4 Link-Local address to an interface.

   If a host finds that an interface that was previously configured with
   an IPv4 Link-Local address is now configured with a routable address,
   the host MUST use the routable address when initiating new
   communications, and MUST cease advertising the availability of the
   IPv4 Link-Local address through whatever mechanisms that address had
   been made known to others.  The host SHOULD continue to use the IPv4
   Link-Local address for communications underway when the routable
   address was configured, and MAY continue to accept new communications
   addressed to the IPv4 Link-Local address.  Ways in which a routable
   address might be configured for the interface include:

   * Manual configuration
   * Address assignment through DHCP
   * Roaming of the host to a network on which the host has a
        valid routable address

   If a host finds that a routable address is no longer configured on an
   interface, the host MAY identify a usable IPv4 Link-Local address (as
   described in section 2) and assign that address to the interface.
   Ways in which a routable address might no longer be configured on an
   interface include:

   * Removal of the address from the interface through manual
      configuration
   * Expiration of the lease on the address assigned through DHCP
   * Roaming of the host to a new network on which the address is no
        longer valid.

   Further discussion of address assignment and the detection of network
   attachment is provided in [DNAv4]."