[Roll] Making RUL draft normative reference in useofrplinfo

Ines Robles <mariainesrobles@googlemail.com> Fri, 25 October 2019 11:18 UTC

Return-Path: <mariainesrobles@googlemail.com>
X-Original-To: roll@ietfa.amsl.com
Delivered-To: roll@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D3614120863 for <roll@ietfa.amsl.com>; Fri, 25 Oct 2019 04:18:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=googlemail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yCwrfWAkLMOO for <roll@ietfa.amsl.com>; Fri, 25 Oct 2019 04:18:56 -0700 (PDT)
Received: from mail-il1-x136.google.com (mail-il1-x136.google.com [IPv6:2607:f8b0:4864:20::136]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5567D1200C3 for <roll@ietf.org>; Fri, 25 Oct 2019 04:18:56 -0700 (PDT)
Received: by mail-il1-x136.google.com with SMTP id z10so1494929ilo.8 for <roll@ietf.org>; Fri, 25 Oct 2019 04:18:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=mkmoPeYiptFpt7vLRFoY0sjCcJjZhOQmmsODKCxAdoA=; b=Yh70QAEhQr70tzdFhVljxcYXdic0en78ezYtibEAFs0079UAnWKVxywWL9v176xfmg /XNlb/PmoYa0YrcgXtCFm1kxBUfirQPi7TETL1SKtJL2Yr14AN5fyZXfq6NVNgxiURCt jD0BNhNV1CTcxX5Tupleq2FX6+qh3r3oovJaQ6yhGq3tG6CtAoiKQ+mldZ87nwoQNYM0 Rsi1OxuCqiDdV+dG817izqBdE4xABrwCtlXE3kzJteA+8wYOfclf82DrsdfRGPKqrAro bnRJb7pn+DnS/RRX8oLm0a8ySW6emSREyjI9z7XV2vexQQL8trqgeJPjClAFwSeXnRvZ MAmg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=mkmoPeYiptFpt7vLRFoY0sjCcJjZhOQmmsODKCxAdoA=; b=kBa1Gkq0MAAiZh6sInrdbzC63aoBsV+kE0V3Doen6uPSeSsJqmchwILN3V9EWngLcN HGWdhBpqqAvped6zSzlzqJqcXlwZMPbJUDuKkrrZU63t+LGk98G80icp6Mmg2damoxg0 o/6hkWiL+Lhe/jdGmwwVp268AGplxdSehqYUVV4mYHWtyCHj+Ajnlt/kkqqLJrkIQBfQ rMZfn6uzNlegKhum0O53ybHX10NmRVkZBeppenOd0ZoXMIZMtOhPE4+taR6QkoWKqUqL yjlR1UG0baD/Y9R2ywGAXWSlxq+NczSVKReG5HRfLbhHnZLeneoXU4/WnPO5HZQTGER+ hDQg==
X-Gm-Message-State: APjAAAUNJ7F40peutXt/jWvHAgYuSH8vhQFzqmkJTTuHIYosmNSTbZAu Q4u/IKlleHcz3Fa7ivMYn3BHUhQFBlMgwut24P2z+bCj
X-Google-Smtp-Source: APXvYqyGzc8VxbAiOzg/9Lgk92vBUn/j7Fopg8DMtdni/sa/Ym1xAe8y03FJLLQWpG2c30AXgMn5r5h+8i9OrFmk4iA=
X-Received: by 2002:a92:b656:: with SMTP id s83mr3486832ili.282.1572002334774; Fri, 25 Oct 2019 04:18:54 -0700 (PDT)
MIME-Version: 1.0
From: Ines Robles <mariainesrobles@googlemail.com>
Date: Fri, 25 Oct 2019 14:18:18 +0300
Message-ID: <CAP+sJUffg9x7Wcuj-BTCO9nJ8mdDXndMCpGNGc6u3xMj2NckxA@mail.gmail.com>
To: roll <roll@ietf.org>
Cc: "Pascal Thubert (pthubert)" <pthubert@cisco.com>, Michael Richardson <mcr+ietf@sandelman.ca>
Content-Type: multipart/alternative; boundary="000000000000c0196f0595ba50b5"
Archived-At: <https://mailarchive.ietf.org/arch/msg/roll/lMibKsOlAZ9OvV48bSuyR85Vskg>
Subject: [Roll] Making RUL draft normative reference in useofrplinfo
X-BeenThere: roll@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Routing Over Low power and Lossy networks <roll.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/roll>, <mailto:roll-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/roll/>
List-Post: <mailto:roll@ietf.org>
List-Help: <mailto:roll-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/roll>, <mailto:roll-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 25 Oct 2019 11:18:59 -0000

Dear all,

Discussing with Pascal and Michael, we would like to know if you think that
unaware-leaves draft should be normative in useofrplinfo.

Please find below some discussion points:

The RUL draft introduces a new beast to the RPL family, a
“Leaf-that-does-not-speak-RFC-6550“ but can now attach to the network and
benefit from special forwarding rules, provided that it implements the RUL
draft and some dependencies listed therein. Use-Of-RPL-Info aligned to the
WIP but there’s still a risk if it is published too soon that it is not
100% aligned. The misalignment we noted is mostly a terminology thing: is a
RUL a “Leaf-that-does-not-speak-RFC-6550“, or should we carry additional
meaning like support of the RUL draft and/or the dependencies.



The behavior for a RUL in Use-Of-RPL-Info world for the is correct but it
could apply to a slightly wider definition of a RUL than what the RUL draft
considers. E.g., a node that 1) does not implement the RUL draft and even
RFC 8505, but 2) never moves (tethered to the router or embedded therein),
could also attach to a RPL network provided that the router does a new set
of things, like handles the sequence counter and  stuff, and there could be
tons of variations of that guy e.g.,  whether that guy could provide an
“opaque” RPL-aware RPLinstanceID though it does not speak RFC 6550. The
description of the operation of a RUL in Use-Of-RPL-Info would work for
that guy as well, but that operation is not defined. IOW that guy is does
not (yet) belong to the RPL family, and will hopefully never do, because
the original 6LoWPAN ND is obsoleted by RFC 8505, so why not just do that?



To maximize the coverage of Use-Of-RPL-Info, we should need to include that
guy in the generic “RUL” definition. I’m not too interested in defining all
the variations of “that guy” and even less to give a name to all the
variations, and/or ensure that it could be doable to do RPL on their behalf
based on new hypothetic features in the router. Personally I’m happy enough
if the RUL that the Use-Of-RPL-Info describes has a scope that is reduced
to nodes that obey the RUL draft, because they are the only ones for which
we have a defined behavior in the router. Thus the proposal to make the RUL
draft a normative reference and live a few months with a missref.



Changes were done in the RUL draft to ensure that the operation described
for a RUL in Use-Of-RPL-Info is compatible with the new beast that the RUL
draft considers, making the new beast a subset of the RUL considered by
Use-Of-RPL-Info. Because when the doc became WG doc a RUL was any sort of
external route. the doc made it more specific. The price to pay was to
introduce a different behavior for the RUL and other “external
destinations”. As the text was changed for other “external destinations”
indicating e.g., the need to route via the parent and thus to use
Non-Storing signaling.



Then that text was stripped off the RUL draft and placed it in the
Use-Of-RPL-Info because it was really text on the forwarding behavior,
which is different if some assumptions cannot be made on the external
destination (need to encaps to the parent when it is not necessarily needed
for a RUL). That new text also fills a gap in Use-Of-RPL-Info and is
completely localized in a  new section. the  text was moved about routing
from the RUL draft to that section. Since it is not published yet, please
find that text inline below:



“



4.1. Updates to RFC6550: Advertise External Routes with Non-Storing

Mode Signaling.

Section 6.7.8. of [RFC6550] introduces the 'E' flag that is set to

indicate that the 6LR that generates the DAO redistributes external

targets into the RPL network. An external Target is a Target that

has been learned through an alternate protocol, for instance a route

to a prefix that is outside the RPL domain but reachable via a 6LR.

Being outside of the RPL domain, a node that is reached via an

external target cannot be guaranteed to ignore the RPL artifacts and

cannot be expected to process the [RFC8138] compression correctly.

This means that the RPL artifacts should be contained in an IP-in-IP

encapsulation that is removed by the 6LR, and that any remaining

compression should be expanded by the 6LR before it forwards a packet

outside the RPL domain.

This specification updates RPL [RFC6550] to RECOMMEND that external

targets are advertised using Non-Storing Mode signaling even in a

Storing-Mode network. This way, all packets to an external target

reach the Root that can encapsulate them, and the Root is informed of

the address of the 6LR that terminates the IP-in-IP tunnel. In case

of an external target, the Root SHOULD use the same IP-in-IP

encapsulation for packets that it generates or that are originated

within the RPL domain as if the packets were coming from the

Internet.

A RUL is a special case of external target when the target is

actually a host and it is known to support a consumed Routing Header

and to ignore a HbH header as prescribed by [RFC8200]. The target

may have been learned through as a host route or may have been

registered to the 6LR using [RFC8505]. IP-in-IP encapsulation MAY be

avoided for Root to RUL communication if the RUL is known to process

the packets as forwarded by the parent 6LR without decapsulation.

In order to enable IP-in-IP all the way to a 6LN, it is beneficial

that the 6LN supports decapsulating IP-in-IP, but that is not assumed

by [RFC8504]. If the 6LN is a RUL, the Root that encapsulates a

packet SHOULD terminate the tunnel at a parent 6LR unless it is aware

that the RUL supports IP-in-IP decapsulation.

A node that is reachable over an external route is not expected to

support [RFC8138]. Whether a decapsulation took place or not and

even when the 6LR is delivering the packet to a RUL, the 6LR that

injected an external route MUST uncompress the packet before

forwarding over that external route.

“



So where are we?



We need to agree on what we place in the definition of a RUL for which
Use-Of-RPL-Info
presents a special behavior. Do we limit to the ground common with the RUL
draft for which there is a defined RPL behavior, or do we define a new
different thing where Use-Of-RPL-Info handles an unclear superset of the
nodes that support the RUL draft and for which there is a defined RPL
operation? I do not see the need because if (ever, though doubtful) a new
draft defines the RPL operation for one version of “that guy” then is can
also say whether “that guy” should be handled as a RUL or as an “external
destination” in Use-Of-RPL-Info.



Thus the proposal to that that the operation of a “RUL” in Use-Of-RPL-Info
is for a node that supports the RUL draft, and make the RUL draft a
normative reference to define what that exactly mean. If we do so, MISSREF
will play its guardian role to ensure that Use-Of-RPL-Info is consistent
with the RUL draft till the last minute because it is not published too
hastly.


Looking forward to your reactions,


Ines, Pascal and Michael.