Subject: RFC1122 - does it really apply to IPv6 hosts?

From: Mark Smith <[email-masked]>
Date: Sat, 15 Apr 2017 11:07:52 +1000

Or how much of it applies to IPv6 hosts?

The reason I'm curious is because I wondered for a long time whether
IPv6 nodes supported either of the strong or weak ES model, or whether
IPv6 had selected only one of those models.

My confusion had come about for a few reasons.

- The one place I did find something that seemed to be somewhat
related to strong/weak host model support in an IPv6 RFC is in
RFC4291(bis), "IP Version 6 Addressing Architecture", "2.1.
Addressing Model":

"IPv6 addresses of all types are assigned to interfaces, not nodes.
   An IPv6 unicast address refers to a single interface.  Since each
   interface belongs to a single node, any of that node's interfaces'
   unicast addresses may be used as an identifier for the node."

The first sentence seems to be suggesting strong ES model, however the
second sentence seems to be then suggesting weak ES model.

- RFC1122, being written in 1989 is before any specific IPv6 work as
far as I know and where it is talking about Internet Protocols, only
explicitly covers IPv4 and related protocols i.e., ARP.
Understandably, it isn't written to be Internet Protocol version
agnostic.

- I've never come across any references to RFC1122 in any IPv6 and
specifically any base IPv6 protocol RFCs. One place it could be
expected to appear if it was relevant would be in RFC6434, "IPv6 Node
Requirements", yet it doesn't.

People have said in emails that RFC1122 applies to IPv6, and I'm fine
with that. However they are informal statements, so I'm wondering if
there is anywhere formal that says so?

One thing that has prompted me to again wonder about it is this draft:

"IPv6 Prefix Delegation for Hosts"
https://tools.ietf.org/html/draft-templin-v6ops-pdhost-05

This draft is having to deal with a host following either of the weak
or strong ES models. Where it gets complicated is in reference to
things like MLD or ND DAD and when and how to perform them. It would
be simpler in scenarios such as the above if all IPv6 hosts were only
weak ES model or only strong ES model.

Thanks very much,
Mark.

---

From: Brian E Carpenter <[email-masked]>
Date: Sat, 15 Apr 2017 15:02:07 +1200

Mark,

We included some explicit verbiage about this in
https://tools.ietf.org/html/rfc8028#section-1.1
because it seemed relevant. I don't think this is a correct 
RFC2119 usage, but I think the answer to your question is a
definite MAYBE.

    Brian

On 15/04/2017 13:07, Mark Smith wrote:
> --------------------------------------------------------------------
> IETF IPv6 working group mailing list
> [email-masked]
> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> --------------------------------------------------------------------
>

---

From: Fred Baker <[email-masked]>
Date: Fri, 14 Apr 2017 20:10:10 -0700

> On Apr 14, 2017, at 6:07 PM, Mark Smith <[email-masked]> wrote:
> 

You might take a look at the comments on the topic in RFC 7039, where Joe Touch (IIRC) brought the question up. My take is that neither IPv4 nor IPv6 really uses either as described there. The weak model says that any address may be used as a source address on any interface; to my knowledge, a host only originates messages using a given address on the interface it is assigned to. The strong model, in 1122, says that the host acts as if it were some number of virtual hosts, one per address, and the virtual host only uses the interface that address is on. Again, AFAIK, that is not the case in current equipment.

---

From: Erik Kline <[email-masked]>
Date: Sat, 15 Apr 2017 21:29:16 +0900

On 15 April 2017 at 12:10, Fred Baker <[email-masked]> wrote:

> You might take a look at the comments on the topic in RFC 7039, where Joe
> Touch (IIRC) brought the question up. My take is that neither IPv4 nor IPv6
> really uses either as described there. The weak model says that any address
> may be used as a source address on any interface; to my knowledge, a host
> only originates messages using a given address on the interface it is
> assigned to. The strong model, in 1122, says that the host acts as if it
> were some number of virtual hosts, one per address, and the virtual host
> only uses the interface that address is on. Again, AFAIK, that is not the
> case in current equipment.

Linux is very weak ES model-y.

We definitely saw Linux preferring non-tentative addresses on interface A
when originating packets on interface B while interface B's addresses were
undergoing DAD.  A sysctl was added to override this (i.e. to implement RFC
6724 section 4 paragraph 2).