Subject: [v6ops] RFC7084 - absence of req of prefix presence in PIO on LAN?

From: Alexandre Petrescu <[email-masked]>
Date: Wed, 13 Nov 2019 08:54:40 +0100

Hi, v6opsers,

While reading through RFC7084 I couldnt find a place where the CE Router 
is mandated to put a prefix in the PIO, even though there is a 
(strange?) requirement to use RIO.

I would like to ask:

- which existing particular requirement the author assumes to be putting 
a derived /64 in the PIO in the RA?

- what does it mean 'An IPv6 CE router MUST advertise itself as a router 
for the delegated prefix(es) [...] using the "Route Information Option" 
specified in Section 2.3 of [RFC4191].'?  (I am asking because I suspect 
this requirement is wrong: the CE Router must certainly not use RIO with 
these prefixes).

Alex

---

From: Timothy Winters <[email-masked]>
Date: Wed, 13 Nov 2019 09:16:59 -0500

Hi Alex,

On Wed, Nov 13, 2019 at 2:54 AM Alexandre Petrescu <
[email-masked]> wrote:

> is mandated to put a prefix in the PIO, even though there is a (strange?)
> requirement to use RIO.
>
> I would like to ask:
>
> - which existing particular requirement the author assumes to be putting a
> derived /64 in the PIO in the RA?
>
The placing of the prefixes in the PIO from the IA_PD was originally
located in RFC 3633, so it's not covered in 7084.

> this requirement is wrong: the CE Router must certainly not use RIO with
CE Routers should place the RIO in the RAs on the LAN interface to have
Host route traffic for those prefixes to that Router if they have
multi-homed.

> Alex
Regards,
Tim

> _______________________________________________
> v6ops mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/v6ops
>

---

From: Brian E Carpenter <[email-masked]>
Date: Thu, 14 Nov 2019 08:39:06 +1300

On 14-Nov-19 03:16, Timothy Winters wrote:
> Hi Alex,
> 
> On Wed, Nov 13, 2019 at 2:54 AM Alexandre Petrescu <[email-masked] <mailto:[email-masked]>> wrote:
> 
>>     Hi, v6opsers,
>> 
>>     While reading through RFC7084 I couldnt find a place where the CE Router is mandated to put a prefix in the PIO, even though there is a (strange?) requirement to use RIO.
>> 
>>     I would like to ask:
>> 
>>     - which existing particular requirement the author assumes to be putting a derived /64 in the PIO in the RA?
> 
> The placing of the prefixes in the PIO from the IA_PD was originally located in RFC 3633, so it's not covered in 7084.

More to the point of Alex's question, 7084 says:

>>> The IPv6 CE router MUST support router behavior according to
>>> Neighbor Discovery for IPv6 [RFC4861].

which therefore requires properly formed PIOs.

>> 
>>     - what does it mean 'An IPv6 CE router MUST advertise itself as a router for the delegated prefix(es) [...] using the "Route Information Option" specified in Section 2.3 of [RFC4191].'?  (I am asking because I suspect this requirement is wrong: the CE Router must certainly not use RIO with these prefixes).

Why is that wrong? It is under "LAN requirements:" and seems to mean exactly what Alex says next:

>> CE Routers should place the RIO in the RAs on the LAN interface to have Host route traffic for those prefixes to that Router if they have multi-homed

(Although, not surprisingly, I would like to see RFC8028 mandated too.)

Regards
    Brian

---

From: "STARK, BARBARA H" <[email-masked]>
Date: Wed, 13 Nov 2019 20:06:14 +0000

> From: v6ops <[email-masked]> On Behalf Of Brian E Carpenter
> > On Wed, Nov 13, 2019 at 2:54 AM Alexandre Petrescu
> <[email-masked] <mailto:[email-masked]>>
> wrote:
> >
> >>     Hi, v6opsers,
> >>
> >>     While reading through RFC7084 I couldnt find a place where the CE
> Router is mandated to put a prefix in the PIO, even though there is a
> >>     - which existing particular requirement the author assumes to be
> putting a derived /64 in the PIO in the RA?
> >
> > The placing of the prefixes in the PIO from the IA_PD was originally located
> in RFC 3633, so it's not covered in 7084.
> 

Yes. RFC 4861 Section 6.2.3 requires the PIO option be included in a Router Advertisement. RFC 7084 L-1 requires RFC 4861 router behavior and L-5 specifically requires RAs to be sent. In addition, L-6 requires the A and L flags in these RA PIOs be set to 1 by default.
 
> specified in Section 2.3 of [RFC4191].'?  (I am asking because I suspect this
> requirement is wrong: the CE Router must certainly not use RIO with these
> prefixes).
> 
> >> CE Routers should place the RIO in the RAs on the LAN interface to
> >> have Host route traffic for those prefixes to that Router if they
> >> have multi-homed
> 
> https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__www.ietf.org_mailman_listinfo_v6ops&d=DwIGaQ&c=LFYZ-
> o9_HUMeMTSQicvjIg&r=LoGzhC-
> 8sc8SY8Tq4vrfog&m=nK6mGiWYHPKSrXTEo8C1LSdQ0QFjNY7DhOlMuyFBoBk
> &s=IO1gPn4j4zzbr1QsJovJtOA_ZRjrBTmpMxWG0aS2Bag&e=

---

From: Mark Smith <[email-masked]>
Date: Thu, 14 Nov 2019 07:57:46 +1100

On Thu, 14 Nov 2019, 06:39 Brian E Carpenter, <[email-masked]>
wrote:

> [email-masked] <mailto:[email-masked]>> wrote:
> >
> >>     Hi, v6opsers,
> >>
> >>     - what does it mean 'An IPv6 CE router MUST advertise itself as a
> router for the delegated prefix(es) [...] using the "Route Information
> Option" specified in Section 2.3 of [RFC4191].'?  (I am asking because I
> suspect this requirement is wrong: the CE Router must certainly not use RIO
> with these prefixes).
>

I'm pretty sure using RIOs was to work around this:

   ULA-5:  An IPv6 CE router MUST NOT advertise itself as a default
           router with a Router Lifetime greater than zero whenever all
           of its configured and delegated prefixes are ULA prefixes

If hosts don't have a default router because of that, then they need to
have other sourced knowledge of the site's ULA prefixes reachable via the
router.

I don't agree with that ULA-5 requirement. The router lifetime in an RA is
a statement of the router's default router status on the link the RA is
sent on, not for the whole site.

It would be fine for hosts to default to a CE for a ULA only site. If they
try to send to somewhere else (e.g. a GUA DA they've somehow acquired), the
DA route lookup would fail in the CE's default free route table, and the CE
would generate an ICMPv6 Destination Unreachable.

There was a fault with a CPE I looked at back in 2010 where it wouldn't
send ICMPv6 Destination Unreachables in this scenario. That caused long
IPv6 timeouts. Other CPE would send an ICMPv6 Destination Unreachable, and
the browser would switch to IPv4 almost immediately.

HappyEyeballs was effectively motivated by a bug, although it does cover
off ICMPv6 Destination Unreachables not being sent because of ICMPv6 send
rate limits, per RFC 4443, 2.4, (f).

> multi-homed

---

From: Alexandre Petrescu <[email-masked]>
Date: Thu, 14 Nov 2019 13:26:29 +0100

Le 13/11/2019 à 15:16, Timothy Winters a écrit :
> <[email-masked] <mailto:[email-masked]>> wrote:
> 
>     Hi, v6opsers,
> 
>     Router is mandated to put a prefix in the PIO, even though there is
>     a (strange?) requirement to use RIO.
> 
>     I would like to ask:
> 

Thanks for the clarification.

It is probably the example from DHCPv6 RFC 8415 "[typically] client 
subnets a single delegated /48 prefix into /64 prefixes and assigns one 
/64 prefix to each of the links in the subscriber network."

RFC7084 doesnt say it, but it refers to RFC8415 who indeed says 
something close to putting a prefix in a PIO. (it says 'assign to 
interface', which could be something else than putting a prefix in the PIO).

>     router for the delegated prefix(es) [...] using the "Route
>     Information Option" specified in Section 2.3 of [RFC4191].'?  (I am
>     asking because I suspect this requirement is wrong: the CE Router
>     must certainly not use RIO with these prefixes).
> 

I think I agree: if CE Router is multi-homed to two ISPs, each with its 
own ULA space for a content server then the CE Router might want to put 
these spaces in distinct RIO options in same RA sent by CE Router on LAN.

However, the draft does not read that way.  The RIO requirement is 
placed right after a requirement talking about deriving prefixes.  IT 
made me thing it wants the derived prefixes in the RIO (should be in the 
PIO).

I am not asking clarification, I am not asking for Errata.

But I do not agree to say that that RFC is clear.

Alex
>     [email-masked] <mailto:[email-masked]>

---

From: Alexandre Petrescu <[email-masked]>
Date: Thu, 14 Nov 2019 13:49:57 +0100

Brian,

Thanks for the reply.

Le 13/11/2019 à 20:39, Brian E Carpenter a écrit :
>> <[email-masked] 
>> <mailto:[email-masked]>> wrote:
>> 
>>> Hi, v6opsers,
>>> 
>>> While reading through RFC7084 I couldnt find a place where the
>>> CE Router is mandated to put a prefix in the PIO, even though
>>> there is a (strange?) requirement to use RIO.
>>> 
>>> I would like to ask:
>>> 
>> The placing of the prefixes in the PIO from the IA_PD was 
>> originally located in RFC 3633, so it's not covered in 7084.
> 

It is clear to certain readers.  But to me it is a long stretch.  It is
a long stretch to consider RFC7084 ref to RFC4861 to consider that
RFC7084 requires prefixes be present in the PIO.

For one, RFC7084 also refers to DHCPv6 RFC, which in turns talks about
'assigning a prefix to an interface', and not about putting a prefix in
the PIO.

In practice, assigning a prefix to an interface does not mean putting it
in the PIO in the RA.  It means to add a particular kind of entry in the
routing table for that prefix and that interface.

Second, RFC4861 never talks about 'assigning a prefix to an interface'.
  Where RFC4861 assigns something it is either addresses to interfaces
(not prefixes), or numbers at IANA.

>>> - what does it mean 'An IPv6 CE router MUST advertise itself as
>>> a router for the delegated prefix(es) [...] using the "Route 
>>> Information Option" specified in Section 2.3 of [RFC4191].'?  (I 
>>> am asking because I suspect this requirement is wrong: the CE 
>>> Router must certainly not use RIO with these prefixes).
> 
>>> CE Routers should place the RIO in the RAs on the LAN interface 
>>> to have Host route traffic for those prefixes to that Router if 
>>> they have multi-homed

a. reading L-2 after L-3 makes think (IMHO) that the prefix derived from
    the delegated prefix would be put in the RIO.  That is wrong.  It
    should be put in the PIO, not in the RIO.

b.  L-3 "[on LAN] CE router MUST advertise itself as a router for the
     delegated prefix(es)" is wrong in many readings I could try.
     The right statements are:
    - CE router MUST advertise itself as a router for reaching the
      Internet.
    - CE router MUST put in PIO in RA some prefix useful for SLAAC;
      this prefix is obtained out of the delegated prefix, or elsewhere.
      this prefix MUST NOT be the delegated prefix.
    - CE router MUST NOT advertise itself as a router for the delegated
      prefix(es); it is the router situated in the ISP premisses that
      must do that.

> (Although, not surprisingly, I would like to see RFC8028 mandated>
> too.)

I think RFC8028 sounds in context: "First-Hop Router Selection in a
Multi-Prefix Network".

However, I am not sure where RFC8028 would apply: is it between the CE
Router and the two ISPs?  Or is it between in-house Host and the single
CE Router?

Alex

> Regards Brian
>> Regards, Tim

---

From: Alexandre Petrescu <[email-masked]>
Date: Thu, 14 Nov 2019 16:46:13 +0100

It boils down to distinct intepretations of these terms:

- a router _advertises_ itself as a router for prefix A:
   - does it mean it puts A in PIO in Router Advertisement?
   - does it mean it puts A in Link-State Advertisement of OSPF?
   - does it mean that some other router has a route for that prefix A
     pointing to this router?

- a prefix is 'assigned' to an interface:
   - does it mean the ifconfig add address/prefix was run on that
     interface?
   - does it mean that the prefis is put in the RA in PIO put on
     that interface?

There are other difficulties with other terms, such as 'delegate 
prefix', 'subnetted prefix' and 'assigned prefix'.

I propose that we clarify these.

Alex

---

From: Brian E Carpenter <[email-masked]>
Date: Fri, 15 Nov 2019 07:16:45 +1300

On 15-Nov-19 01:49, Alexandre Petrescu wrote:
...
> Router and the two ISPs?  Or is it between in-house Host and the single

It is only useful in the case of *more than one* CE Router. As far as
I know, that is not illegal.

   Brian

---

From: Mark Smith <[email-masked]>
Date: Fri, 15 Nov 2019 10:17:08 +1100

On Fri, 15 Nov 2019, 05:17 Brian E Carpenter, <[email-masked]>
wrote:

> ....

I think it is a good idea to always imagine two or more router scenarios.
It helps prevent solutions being designed that will only work or only
easily work with one router.

Redundancy is constantly getting cheaper to have, may as well make it easy
to use.

(I have two routers on my LAN at home, current one IPv4 only, the other
IPv6 only. The IPv4 only router does have a dynamic IPv6 /64 for the LAN
interface if I wanted to use it - although marginal benefit, as from the
same ISP over the same ADSL link.)

---

From: Alexandre Petrescu <[email-masked]>
Date: Fri, 15 Nov 2019 10:57:41 +0100

> I know, that is not illegal.

I think too that a design of the home network should allow for more than 
one CE Router.  Some home networks do that.  For that it makes sense to 
require the use of RFC8028.

However, I am not sure how to express the need of RIO.

There might be no need of the use of RIO if there is only one CE Router, 
because that is the default router for Hosts in home.  As such, it is 
strange that RFC7084 requires RIO without telling why.

If there are two CE Routers, I am not sure how to fit the use of RIO.

If RIO _is_ used in the context of two CE Routers, then there are 
certainly some requirements on how to use them, in combination with the 
default router capability, and with a requirement to avoid large loops 
cross-ISPs.

There might be a case where only one of the CE Router is the default 
router for Hosts at home, and thus it must not use RIO.  The other CE 
Router must use RIO but must not advertise itself as a default router.

There might be a case where both CE Routers are default routers for 
Hosts at home, but each advertises in PIO a distinct prefix.  In that 
case, there is no need of RIO at all.

Then, there might be cases where there are 3 CE Routers, or more.  That 
would need to be described as well.

Alex

---

From: Alexandre Petrescu <[email-masked]>
Date: Fri, 15 Nov 2019 10:59:26 +0100

Le 15/11/2019 à 00:17, Mark Smith a écrit :
[...]
> same ISP over the same ADSL link.)

I think that behaviour should be put in an RFC.  It is what is used.

We should describe first and more of what is used, than what we think 
might be used.

Alex