Subject: Re: ACCEPT [LL17] Hosts with configured addresses MUST ARP for v4 LL addresses

From: Stuart Cheshire <[email-masked]>
Date: Tue, 18 Feb 2003 16:30:37 -0800

Erik Guttman announced the following text:

    If the destination address is in the 169.254/16 prefix (...),
    then it MUST be routed
    directly to the destination address and then send its packet
    directly to the destination on the same physical link.

I don't think that sentence makes any sense.

I previously proposed the following text:

   If the destination address is in the 169.254/16 prefix (including
   the 169.254.255.255 broadcast address),
   then the host MUST use ARP [RFC 826] in the usual way to map the
   destination IP address to a destination hardware address,
   and then send its packet directly to the destination on the same
   physical link. In many network stacks, achieving this
   functionality may be as simple as adding a routing table entry
   indicating that 169.254/16 is directly reachable on the local
   link. The host MUST NOT send a packet with a link-local
   destination address to any router for forwarding.

Were there any objections to this wording?

Stuart Cheshire <[email-masked]>
 * Wizard Without Portfolio, Apple Computer, Inc.
 * www.stuartcheshire.org

---

From: Ted Lemon <[email-masked]>
Date: Tue, 18 Feb 2003 18:02:49 -0700

>    destination address to any router for forwarding.

This text is fine with me.

---

From: Mika Liljeberg <[email-masked]>
Date: 19 Feb 2003 09:12:53 +0200

> I don't think that sentence makes any sense.

I agree. I would prefer that the text be written in terms of the
on-link/off-link terminology defined in RFC2460. Defining new vague
terminology just confuses people.

> Were there any objections to this wording?

Yes, two separate objections from different people:
a) the sender cannot know whether another node is a router or not 
b) ARP should not be mentioned here, since this text deals purely with
route selection. These rules should be applicable to all uses of v4LL
addresses, not just Ethernet type networks.

I proposed the following text, which uses the off-link/on-link
terminology:

"A compliant node MUST use the 169.254/16 prefix, in addition to any
other on-link prefixes it may have, when determining whether a
particular destination is on-link. A compliant node MUST NOT send a
packet having a source address in the 169.254/16 range to an off-link
destination. A received packet with a source address in the 169.254/16
range and a destination address that is not one of the receiving node's
own IP addresses MUST be discarded."

The first two sentences deal with route selection. The last sentence
deals with received packet validation, and automatically also bans any
possibility of forwarding the packet.

	MikaL

---

From: Robert Elz <[email-masked]>
Date: Wed, 19 Feb 2003 19:30:17 +0700

Date:        Tue, 18 Feb 2003 16:30:37 -0800
    From:        Stuart Cheshire <[email-masked]>
    Message-ID:  <[email-masked]>

  | Erik Guttman announced the following text:
  | 
  |     If the destination address is in the 169.254/16 prefix (...),
  |     then it MUST be routed
  |     directly to the destination address and then send its packet
  |     directly to the destination on the same physical link.
  | 
  | I don't think that sentence makes any sense.

yes, there's some odd wording there.

  | I previously proposed the following text:

  | Were there any objections to this wording?

Yes, you cannot require ARP, because not all link levels use it.
The wording needs to be in such a way that specific link level
technologies are not implied.

And the "send to any router" keeps on making people ask "how do I
know if it is a router?" or "does this mean I can send it to a host,
which is not a router, for forwarding".

Clearly the relevant part is intended to be "for forwarding" and if
you define (reaosnably) a router as any node which forwards packets,
then this part makes sense, but to many people, a "router" is something
that you buy from cisco/bay/nortel/3com/...  and a PC running *BSD
or linux isn't one.

Just clean up Erik's working (I think there's already been another
suggestion which looked OK).

kre

---

From: Ted Lemon <[email-masked]>
Date: Wed, 19 Feb 2003 11:25:11 -0700

> own IP addresses MUST be discarded."

This is good.   I like this better than the text you proposed, Stuart 
(sorry!).

---

From: Erik Guttman <[email-masked]>
Date: Thu, 20 Feb 2003 16:57:03 +0100 (CET)

> I don't think that sentence makes any sense.

Sorry - I take the blame for that sentence.  I was trying to capture
several pieces of advice I got on the final wording of the closure call.

A grammatical improvement to the text could be 

    If the destination address is in the 169.254/16 prefix (including
    the 169.254.255.255 broadcast address), then it MUST be routed
    directly to the destination address and then send its packet
    directly to the destination on the same physical link.  In many
    network stacks, achieving this functionality may be as simple as
    adding a routing table entry indicating that 169.254/16 is
    directly reachable on the local link.
->
   If the destination address is in the 169.254/16 prefix (including
    the 169.254.255.255 broadcast address), then it MUST be routed
    directly to the destination address.  The datagram will be sent
    directly to the destination on the same physical link.  In many
    network stacks, achieving this functionality may be as simple as
    adding a routing table entry indicating that 169.254/16 is
    directly reachable on the local link.

This still removes mention of ARP (which is the point of the issue, I
guess).  So perhaps your original text is superior.

> Were there any objections to this wording?

Yes there was - from Thomas Narten.  I am sure he won't mind if I post
it.

>>     the 169.254.255.255 broadcast address), then it MUST ARP for the
>>     destination address and then send its packet directly to the
>>     destination on the same physical link.  In many network stacks,
>
> Please change the ARP wording to use something like "routed directly"
> (maybe defining the term in the definitions if necessary). Comments on
> the list about not using ARP to define what is logically on-link are
> 100% correct.
>
>>     achieving this functionality may be as simple as adding a routing
>>     table entry indicating that 169.254/16 is directly reachable on the
>>     local link.  The host MUST NOT send a packet with a link-local
> Why this last sentence _in this section_, which is about source
> address selection? This sentence need only appear once in the document
> in the section that talks about where to send packets to  LL
> destinations.

I agree we should resolve this.  Could you take this up with Thomas and
see if you and he can agree on some text - then bring it back to the
list with a suggestion?  

I regret the last minute change - but remember the goal of this entire
exercise is to resolve all IESG issues.

Thanks for your patience,

Erik