Subject: RE: source address selection question

From: "Richard Draves" <[email-masked]>
Date: Thu, 17 Oct 2002 13:08:41 -0700

>    If an application or upper-layer specifies a source address that is
>    not in the candidate set for the destination, then the 
> network layer
>    MUST treat this as an error. The specified source address may
>    influence the candidate set, by affecting the choice of outgoing
>    interface.
> 
> Could someone clarify the intention of this paragraph?

The intent is that if the application or upper-layer specifies a source
address that is clearlyy illegal, then the network layer reports an
error instead of sending a packet with an illegal source address. Here
are a couple examples:
a) The application specifies a source address of ff02::1.
b) The application is sending to fe80::1%2, and specifies a source
address of fe80::5. But fe80::5 is not assigned to an interface on link
2.

Rich

--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page:                      http://playground.sun.com/ipng
FTP archive:                      ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [email-masked]
--------------------------------------------------------------------

---

From: Sebastien Roy <[email-masked]>
Date: Thu, 17 Oct 2002 16:27:06 -0400

> address of fe80::5. But fe80::5 is not assigned to an interface on link

In spirit, this restriction makes sense.  I also think that it's
outside of the scope of this document, especially given this statement
made in the abstract:

   The algorithms specify
   default behavior for all IPv6 implementations. They do not override
   choices made by applications or upper-layer protocols, nor do they
   preclude the development of more advanced mechanisms for address
   selection.

And this one in the introduction:

   The selection rules specified in this document MUST NOT be construed
   to override an application or upper-layer's explicit choice of a
   legal destination or source address.

I can see how implementations could unintentionally violate this MUST
in the draft.  One example is an implementation that defines a
mechanism by which a particular kind of address (marked by a special
flag for example) can be used as a source address only through bind(),
but not through the default address selection mechanism.  In that
case, the address is never in any "candidate set", so by the wording
you have in the draft, IP should treat the application's use of the
address as a source address as an error.  I don't believe that
specifying such a restriction in this draft is necessary.

-Sebastien