Re: [Roll] DCO Invalidation triggered from ancestor node

"Pascal Thubert (pthubert)" <pthubert@cisco.com> Thu, 16 May 2019 06:39 UTC

Return-Path: <pthubert@cisco.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 A68091200E6 for <roll@ietfa.amsl.com>; Wed, 15 May 2019 23:39:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.499
X-Spam-Level:
X-Spam-Status: No, score=-14.499 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=kiBuvXFA; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=dcCJvOrW
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 lA4xhJ8Ka-sB for <roll@ietfa.amsl.com>; Wed, 15 May 2019 23:39:37 -0700 (PDT)
Received: from rcdn-iport-6.cisco.com (rcdn-iport-6.cisco.com [173.37.86.77]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AF209120091 for <roll@ietf.org>; Wed, 15 May 2019 23:39:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=50118; q=dns/txt; s=iport; t=1557988776; x=1559198376; h=from:to:subject:date:message-id:references:in-reply-to: mime-version; bh=YNBhUmatAzI00PX1xrJszzyvD9fJHTi6tC0XRF40Ly8=; b=kiBuvXFAd+ocTqc14wjmekrMIxAz355mrBXPn/hb7kOFmfgPCrlQh6Cq riRJ57Qtf1Yn6pAhCQOL14aeg6dbXpcJkmI+wPRZ5atLbXWMrCA0VvKD3 RADRjYza8kbgtj1KZEH9abiQRAtNd0J5qrwv0KKY/Vkl7Y2Odxl+ztg9I M=;
IronPort-PHdr: 9a23:RMQW1RLtTczGYoAXE9mcpTVXNCE6p7X5OBIU4ZM7irVIN76u5InmIFeBvKd2lFGcW4Ld5roEkOfQv636EU04qZea+DFnEtRXUgMdz8AfngguGsmAXFXnLOPgYjYmNM9DT1RiuXq8NBsdFQ==
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AIAAB2BN1c/51dJa1kGgEBAQEBAgEBAQEHAgEBAQGBUQUBAQEBCwGBDi8kLANpVSAECygKhAeDRwOEUoohSoINfpYngS4UgRADVAkBAQEMAQEYAQwIAgEBhEACF4IUIzQJDgEDAQEEAQECAQRtHAyFSgEBAQQBARALBgoTAQEsBAgPAgEIEQQBASEBBgMCAgIlCxQJCAIEEwgagwGBHU0DHQECDKAZAoE1iF9xgS+CeQEBBYUFGIIPAwaBMwGEZIZqF4FAP4ERRlGBRgcuPoJhAQGBLRgEGisJglQygiaLIoI+hFOIEI0aCQKCCYYhgUGLF4IUk1qNVoU2jjICBAIEBQIOAQEFgU84gVdwFTuCbIIPDBeDTIUUhT9ygSmOJQGBIAEB
X-IronPort-AV: E=Sophos;i="5.60,475,1549929600"; d="scan'208,217";a="560391335"
Received: from rcdn-core-6.cisco.com ([173.37.93.157]) by rcdn-iport-6.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 16 May 2019 06:39:34 +0000
Received: from XCH-ALN-018.cisco.com (xch-aln-018.cisco.com [173.36.7.28]) by rcdn-core-6.cisco.com (8.15.2/8.15.2) with ESMTPS id x4G6dYlF006264 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL) for <roll@ietf.org>; Thu, 16 May 2019 06:39:34 GMT
Received: from xhs-rtp-002.cisco.com (64.101.210.229) by XCH-ALN-018.cisco.com (173.36.7.28) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 16 May 2019 01:39:33 -0500
Received: from xhs-rcd-002.cisco.com (173.37.227.247) by xhs-rtp-002.cisco.com (64.101.210.229) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 16 May 2019 02:39:32 -0400
Received: from NAM01-BY2-obe.outbound.protection.outlook.com (72.163.14.9) by xhs-rcd-002.cisco.com (173.37.227.247) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Thu, 16 May 2019 01:39:32 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YNBhUmatAzI00PX1xrJszzyvD9fJHTi6tC0XRF40Ly8=; b=dcCJvOrWWEIjJo8PTnZ1umGpFuQHwrGzEq1CM6JPR82FlUY9uQlf/VKovRB2TiMSEk2B3lKitt0hLqKbj4sC2zejTZvZrb5Bp4eeAblKggsXB+k38EP+WGIc4YF1U1Irr2HCdEwcPsa0O1pyc9bSqBI/v9rEjb1Y6rAuI0COMEY=
Received: from MN2PR11MB3565.namprd11.prod.outlook.com (20.178.250.159) by MN2PR11MB3760.namprd11.prod.outlook.com (20.178.254.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1900.17; Thu, 16 May 2019 06:39:30 +0000
Received: from MN2PR11MB3565.namprd11.prod.outlook.com ([fe80::68f6:21c8:b681:c73]) by MN2PR11MB3565.namprd11.prod.outlook.com ([fe80::68f6:21c8:b681:c73%4]) with mapi id 15.20.1878.024; Thu, 16 May 2019 06:39:30 +0000
From: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
To: Routing Over Low power and Lossy networks <roll@ietf.org>
Thread-Topic: [Roll] DCO Invalidation triggered from ancestor node
Thread-Index: AdUFW++4O9eJo3SBSoOtuTjMRFa1bAA/pH7wAACONrAA6+ElgAADKcKOAAI/gtAACmPGgABWfZuAAAI8b2A=
Date: Thu, 16 May 2019 06:38:55 +0000
Deferred-Delivery: Thu, 16 May 2019 06:38:49 +0000
Message-ID: <MN2PR11MB35659E24EB9ABCF1579FB4C1D80A0@MN2PR11MB3565.namprd11.prod.outlook.com>
References: <982B626E107E334DBE601D979F31785C5DE89061@BLREML503-MBX.china.huawei.com> <MN2PR11MB356526B9DCE8337DDEA37DC1D8330@MN2PR11MB3565.namprd11.prod.outlook.com> <982B626E107E334DBE601D979F31785C5DE89906@BLREML503-MBX.china.huawei.com> <982B626E107E334DBE601D979F31785C5DEA1FBD@BLREML503-MBX.china.huawei.com> <955ED4FB-D320-4A59-8F4C-3A5A2A49F528@cisco.com> <982B626E107E334DBE601D979F31785C5DEA203D@BLREML503-MBX.china.huawei.com> <8F1FCC0D-6016-427C-9C63-35626C7973F1@cisco.com> <982B626E107E334DBE601D979F31785C5DEA552C@BLREML503-MBX.china.huawei.com>
In-Reply-To: <982B626E107E334DBE601D979F31785C5DEA552C@BLREML503-MBX.china.huawei.com>
Accept-Language: fr-FR, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=pthubert@cisco.com;
x-originating-ip: [173.38.220.40]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: ad32b136-24ad-491e-0993-08d6d9c94019
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(2017052603328)(7193020); SRVR:MN2PR11MB3760;
x-ms-traffictypediagnostic: MN2PR11MB3760:
x-ms-exchange-purlcount: 4
x-microsoft-antispam-prvs: <MN2PR11MB3760811C5C4EBC0EFB707045D80A0@MN2PR11MB3760.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0039C6E5C5
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(136003)(346002)(376002)(366004)(396003)(199004)(189003)(53936002)(71190400001)(71200400001)(229853002)(186003)(316002)(6436002)(66066001)(478600001)(6666004)(25786009)(6916009)(236005)(76116006)(54896002)(6306002)(73956011)(66574012)(9686003)(26005)(64756008)(66446008)(52536014)(55016002)(6246003)(66556008)(66476007)(66946007)(102836004)(966005)(11346002)(53546011)(68736007)(2906002)(6506007)(33656002)(7696005)(76176011)(486006)(14454004)(99286004)(476003)(446003)(86362001)(74316002)(256004)(14444005)(81156014)(7736002)(81166006)(3846002)(790700001)(6116002)(8936002)(5660300002)(8676002)(606006); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR11MB3760; H:MN2PR11MB3565.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: cisco.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: Ari5zx98jsfQJ+60YDuu7d964Ebq7IccTFuoEQ7klggUNT+AiewbpkEnmYzCD5xEtKH2wHQXBcn/oCyAsTZuaJi/r/7z34ZWztz3yGUx9CikrVpKF9+XEhEY3XCK9qoFAhUoR914FckDb0W5OEFvuGukovAXB4u6BOTs5pHLQ+W9UNraS3u8qGXQHqXDuS3WGV4s79VMFlhg3QSnYS7O7YOJbrPMcc5kOJt2KmeVi0kshZ1t4rft1Yl3H0jlxqdAzbwCoB5gAu/AxlRL5pqX3OkY6AtgU3SXEaCMIc/jB0SYFHfIMzcovNHDtTW+YsFs2NhBz7huLjIzX4m0+/0Rsl8vVVxk5pNi9l7WiVNF2WEqN0W10Ia60jXcUkFALm5gNLwmXo6xYmcjiXXHn3PxmdfkpO6VZwipWH7TiTIdsgk=
Content-Type: multipart/alternative; boundary="_000_MN2PR11MB35659E24EB9ABCF1579FB4C1D80A0MN2PR11MB3565namp_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: ad32b136-24ad-491e-0993-08d6d9c94019
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 May 2019 06:39:30.5389 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3760
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.36.7.28, xch-aln-018.cisco.com
X-Outbound-Node: rcdn-core-6.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/roll/imkK5MPj_iG4XyHHtFpmhz1KNxc>
Subject: Re: [Roll] DCO Invalidation triggered from ancestor node
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: Thu, 16 May 2019 06:39:41 -0000

Hello Rahul:



  *   It is possible for a 6LR to initiate a NPDAO using existing route state. Similarly it is possible for DCO to be initiated by ancestor 6lr.

Probably but in case of lifetime out the expectation is that the children also timed out so it has to be a different case. I noted text in the current spec “


   In this case, Node A

   which is the common ancestor node for node D along the two paths

   (previous and new), should generate a DCO which traverses downwards

   in the network.

I do not think the “should” here is really what we wanted. You now that BCP 14 is kinda optional and that “should” will be interpreted as a SHOULD. Which is unwanted because sending a DCO is an option to be used wisely. There is a whole history in routing protocols of pruning routes based on second hand information and that history is not generally good. Protocols, the original RPL included, tend to prefer to let a route die of old age than all the race conditions that happen when a misinformed third party tells you a route is gone. DCO has protections with the path sequence but there might still be cases where it is unwanted. For instance, cleaning a route that is not used can be a waste of energy. People might still prefer the reactive cleanup with the RPI flags. I suggest we change the sentence above with a “could” instead of “should”.


  *   Now why any 6LR would unilaterally generate an NPDAO or DCO .. This remains to be seem.


We avoided to cover the case of a routing table full because it has many implications, and should be designed globally. Instead we always considered that the networks are designed in accordance with the capability of the devices deployed there, which basically pushed many to implement only non-storing.

The unsolicited DCO can be triggered by an external process. E.g.,  it is very useful in the case of a 6BBR when a node moves to a different DODAG. The root of the old DODAG (as registering node) is notified by the 6BBR with a ND (EARO status code 4, removed, see RFC 8505). In turn it should send a DCO down to remove all state in the old DODAG.

I’m not sure where to specify that. I was asked to remove pretty much all RPL related text from the 6lo docs. We have the RPL unaware leaf draft that is doing the missing link so maybe I could write that there.

All the best,

Pascal

From: Roll <roll-bounces@ietf.org> On Behalf Of Rahul Arvind Jadhav
Sent: jeudi 16 mai 2019 07:29
To: Routing Over Low power and Lossy networks <roll@ietf.org>
Subject: Re: [Roll] DCO Invalidation triggered from ancestor node

Thanks Pascal for the clarification.

I can draw a parallel here between what is possible with DAO and DCO.
It is possible for a 6LR to initiate a NPDAO using existing route state. Similarly it is possible for DCO to be initiated by ancestor 6lr.

One advantage with unsolicited DCO is that the target node would eventually be notified that some 6LR had initiated a route invalidation on its behalf. This is because unlike NPDAO, the DCO would eventually reach the target node downstream (ofcourse only if the path is intact).

Now why any 6LR would unilaterally generate an NPDAO or DCO .. This remains to be seem.
One reason could be that 6LR sees that its routing table is full and it needs to evict existing route entries to make way for new “higher priority” routing entry. This can be initiated in a more gracious way using DCO that with NPDAO (because with DCO, target node eventually would be notified). Having said that, this scenario is just a figment of imagination. I haven’t come across this problem/scenario in my implementation.

Thanks,
Rahul
From: Roll [mailto:roll-bounces@ietf.org] On Behalf Of Pascal Thubert (pthubert)
Sent: 14 May 2019 17:22
To: Routing Over Low power and Lossy networks <roll@ietf.org<mailto:roll@ietf.org>>
Subject: Re: [Roll] DCO Invalidation triggered from ancestor node

You right Rahul.

I guess nothing prevents it though. Just that you should only report direct parent - child relationships otherwise you may create loops...

Regards,

Pascal

Le 14 mai 2019 à 09:01, Rahul Arvind Jadhav <rahul.jadhav@huawei.com<mailto:rahul.jadhav@huawei.com>> a écrit :

I understand that you describe a route redistribution. RPL allows it at your own risk, you need to set the E bit to indicate external.

[RJ] E-bit in 6550 says, “The 'E' flag is set to indicate that the parent router redistributes external targets into the RPL network.  An external Target is a Target that has been learned through an alternate protocol.”
I thought E-bit is used to advertise external prefixes or routes known to 6LR outside RPL domain. Unaware leaves looks like a valid scenario for this but within RPL domain and within the DODAG can a 6LR redistribute routes using this flag?

We use it in the case of unaware leaves. The leaf uses RFC 8505 to talk to the RPL router and the router turns that into a DAO.

Btw the call for adoption for the RPL unaware leaves is out. All support is welcome !
All the best,

Pascal

Le 14 mai 2019 à 07:02, Rahul Arvind Jadhav <rahul.jadhav@huawei.com<mailto:rahul.jadhav@huawei.com>> a écrit :
Hello ROLL,

Does RPL allow DAO to be sent unsolicited from a non-target node ? For e.g., can a 6LR node on parent switching use the existing routing state to send DAO on behalf of the childs in sub-dodag to update the routing states on new path ?

This topic came up during rpl-observations discussion in IETF102/103 and it was discussed that it is possible. But I couldn’t find any explicit statements in 6550 allowing this.

I am trying to relate unsolicited DCO proposition with this behavior to understand more.

Thanks,
Rahul


From: Roll [mailto:roll-bounces@ietf.org] On Behalf Of Rahul Arvind Jadhav
Sent: 09 May 2019 17:19
To: Routing Over Low power and Lossy networks <roll@ietf.org<mailto:roll@ietf.org>>
Subject: Re: [Roll] DCO Invalidation triggered from ancestor node

Thanks Pascal for the feedback.

The race condition and the associated timer in case of multiple preferred parents is a valid scenario. This scenario needs to be handled regardless of unilateral DCO and is explained explicitly in the draft (Section 4.5.3).

Thanks,
Rahul

From: Roll [mailto:roll-bounces@ietf.org] On Behalf Of Pascal Thubert (pthubert)
Sent: 09 May 2019 17:09
To: Routing Over Low power and Lossy networks <roll@ietf.org<mailto:roll@ietf.org>>
Subject: Re: [Roll] DCO Invalidation triggered from ancestor node

Hello Rahul:

It is possible that node D in your picture sends a same DAO (same path seq) via both B and C. An unsolicited DCO sent to upon the first DAO received by B could collision with the DAO via C and create race conditions. E.g. a node destroys a route upon DCO seq 5 and recreates it right after when the DAO same seq 5 comes in. Packets in flight will be sent back with a flag in the RPI or destroyed. Not good.

Note: RPL has a datapath detection for broken routes so if it is effectively being used, the path via C would eventually go away based on the flag above.

So I do not favor unsolicited DCOs, and if done, there should be a timer associated to it to make sure that no DAO comes via C. The duration of that timer is hard to fathom…

All the best,

Pascal

From: Roll <roll-bounces@ietf.org<mailto:roll-bounces@ietf.org>> On Behalf Of Rahul Arvind Jadhav
Sent: mercredi 8 mai 2019 07:07
To: roll <roll@ietf.org<mailto:roll@ietf.org>>
Subject: [Roll] DCO Invalidation triggered from ancestor node

Hello ROLL,

During the review of draft-ietf-roll-efficient-npdao-10, there was a point raised by Alvaro which we would like to bring to the WG.

The draft adds DCO msg which allows route invalidation by the common ancestor node. The DCO message is generated by the ancestor node in response to DAO with I-flag (invalidate previous route flag) set in context to the corresponding target. The I-flag is used as a mechanism so that the target is in-charge of its own invalidation. Having said that, the ancestor node has all the state information needed to generate the DCO __unilaterally__.

We would like to understand WG thoughts on “whether this unilateral invalidation from ancestor can be allowed or we should strictly let the ancestor node generate DCO in response to DAO with I-flag set.”

Am not quoting pros/cons of the approaches, because this might bias the thinking and it would be nice to have different perspectives.

A diagram to aid understanding: https://github.com/roll-wg/efficient-route-invalidation/blob/master/unilateral-dco.md

Any feedback will be very useful and appreciated.

Thanks,
Rahul
_______________________________________________
Roll mailing list
Roll@ietf.org<mailto:Roll@ietf.org>
https://www.ietf.org/mailman/listinfo/roll
_______________________________________________
Roll mailing list
Roll@ietf.org<mailto:Roll@ietf.org>
https://www.ietf.org/mailman/listinfo/roll