Subject: Section 2.6

From: "Philip Nye" <[email-masked]>
Date: Mon, 10 Feb 2003 12:32:21 -0000

The heart of much of the controversy over when to use which kind of address
is in section 2.6 "Source Address Selection" although LL1 actually only
refers to section 1.5 "Supporting Multiple Addresses per Interface"

Several of the proposed changes are exacerbated by the fact that 2.6 depite
its title "Source Address Selection" actually talks a lot about how to reach
destination addresses.

I propose that 2.6 be split into two sections (I've numbered them 2.6 and
2.6a for now) to allow issues of source address selection and reaching
destination addresses to be treated separately.

Based on the existing text in draft 7 these sections would become as below.
This text would be potentially modified by issues LL1, LL13, LL17, LL19 and
maybe others.

Philip

2.6 Source Address Selection

   Since each interface on a host may have a link-local address in
   addition to zero or more other addresses configured by other means
   (e.g. manually or via a DHCP server), a host may have to make a
   choice about what source address to use when it sends a packet or
   initiates a TCP connection.

   If the destination address is in the 169.254/16 prefix (including the
   169.254.255.255 broadcast address), the host SHOULD use its link-
   local source address, if it has one.

   If the destination address is the 255.255.255.255 broadcast address
   or a multicast address, then the host may use either its link-local
   source address or a routable address, as appropriate.

   If the destination address is a unicast address outside the
   169.254/16 prefix, then the host SHOULD use an appropriate routable
   source address, if it has one. If the host does not have a routable
   source address, then it MAY choose to send its packet, with a link-local
   source IP address and a routable destination IP address.

   In the case where two hosts on the same link each have both a link-
   local address and another address configured via some other means,
   the host may use either its link-local source address or a routable
   address, depending on which is expected to be more likely to remain
   stable for the expected lifetime of the connection. Note that link-
   local addresses may be forced to change over time, as described in
   Section 2.5.

2.6a Accessing destination addresses

   If the destination address of a packet to be sent is in the 169.254/16
   prefix (including the 169.254.255.255 broadcast address), the host MAY
   choose to ARP for the destination address and then send its packet, with
   a link- local destination IP address, directly to its destination on the
   same physical link. The host MUST NOT send the packet to any router for
   forwarding.

   If the destination address is a unicast address outside the 169.254/16
   prefix and the source address is a Link-Local address, then the sender
   MAY choose to ARP for the destination address and then send its packet,
   with a link-local source IP address and a routable destination IP
   address, directly to its destination on the same physical link. The host
   MUST NOT send the packet to any router for forwarding.