Re: [Roll] Make P-DAO bidirectional [extends] IETF 109 open Questions on P-DAO

"Pascal Thubert (pthubert)" <pthubert@cisco.com> Wed, 09 December 2020 08:03 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 CD44F3A0DCB for <roll@ietfa.amsl.com>; Wed, 9 Dec 2020 00:03:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.601
X-Spam-Level:
X-Spam-Status: No, score=-9.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H2=-0.001, 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=LAscL6F1; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=gvKKBKtT
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 Lx_wMqbKKmcV for <roll@ietfa.amsl.com>; Wed, 9 Dec 2020 00:03:16 -0800 (PST)
Received: from alln-iport-6.cisco.com (alln-iport-6.cisco.com [173.37.142.93]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 45C773A0D13 for <roll@ietf.org>; Wed, 9 Dec 2020 00:03:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=27801; q=dns/txt; s=iport; t=1607500996; x=1608710596; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=o47O49jc6UbijZNIcN6mHA/8YIKipVxJ5ARpQQ4dpcU=; b=LAscL6F1h8ZIyuszar772ZNXf2pTcl6jAJVy+hmUUKNiFTUAW4mIcXo5 TV19hIOzP0//gTr3zenvPOJz1MW+cjg9hOxRJSkFbCekrzP4PDOwHOfck RLb/4m9K/xfHWqkutNJzPQSyeEWHsFQuwhxiqiHNZDrvLX9k4L7EDd1Km k=;
X-IPAS-Result: A0DKAgBHhNBfmJNdJa1YCh0BAQEBCQESAQUFAUCBT4FSKSh8Wy8uiAYDjV0DgQWOBYl/gUKBEQNUCwEBAQ0BARgNCAIEAQGBbAGCXQKBfwIlOBMCAwEBAQMCAwEBAQEFAQEBAgEGBBQBAQEBAQEBAYYJCCUMhXIBAQEBAwEBEAgNGQEBJQcMCwQCAQgRAQEBAQEBKAcnCxQDBggCBBMIGoJ/BAEBglUDLgEOoVoCgTyIaXSBATODBAEBBYE3BAxBgy4DFYIQCYE4gnSCZk6HGxuBQT+BEAFDgVdJBy4+gQSBWQEBAgEBFYEMDQ8gBR8SgxKCLIFpWAYBYw0HGwMGCwgIHwIsDQIeCAILBysVBAEGBBoBLhoYD48HJDKKSIEcnBkKgnSJHpJEgmg8iiSUbZ8HkUQID4Q8AgQCBAUCDgEBBYFtIQ+BSnAVO4JpCUcXAg2HfoYjDA4JgQIBB4JEhRSFRHQCATQCBgEJAQEDCXyHKi2CFwEB
IronPort-PHdr: 9a23:pIY2GB8yWfiNZv9uRHGN82YQeigqvan1NQcJ650hzqhDabmn44+7ZRaN5PhxghnOR4qIo/5Hiu+DtafmVCRA5Juaq3kNfdRKUANNksQZmQEsQavnQU32JfLndWo2ScJFUlI2/nynPw5SAsmtL1HXq2e5uDgVHBi3PAFpJ+PzT4jVicn/1+2795DJJQtSgz/oarJpJxLwpgLU5cQ=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.78,404,1599523200"; d="scan'208";a="649710125"
Received: from rcdn-core-11.cisco.com ([173.37.93.147]) by alln-iport-6.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 09 Dec 2020 08:03:14 +0000
Received: from XCH-RCD-002.cisco.com (xch-rcd-002.cisco.com [173.37.102.12]) by rcdn-core-11.cisco.com (8.15.2/8.15.2) with ESMTPS id 0B983EMA011281 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL) for <roll@ietf.org>; Wed, 9 Dec 2020 08:03:14 GMT
Received: from xhs-rcd-003.cisco.com (173.37.227.248) by XCH-RCD-002.cisco.com (173.37.102.12) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 9 Dec 2020 02:03:14 -0600
Received: from xhs-rcd-001.cisco.com (173.37.227.246) by xhs-rcd-003.cisco.com (173.37.227.248) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 9 Dec 2020 02:03:13 -0600
Received: from NAM04-BN8-obe.outbound.protection.outlook.com (72.163.14.9) by xhs-rcd-001.cisco.com (173.37.227.246) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Wed, 9 Dec 2020 02:03:13 -0600
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=esncy+QqvDfmkSScW/Qzd4piHXAT0g1ZcWZhUId6hrQ766DoeUMOUJxBo760J3sPJP7XOWaXBUPbdKRRd3GFiXvlrHahwMJMXouJY/5EdB4kucppGMnc47HVQcViy8weMoOP7z9vk+dxTye7FwhrGxtPrLiiBlf16oSyNVzO9HlqxHiU7wdsysBt3wZZv0tpCYlecrHz1/nsjD4Ek+jF4TlCfS0WZyk6hgTGnHTdWjzrgooq/tuWWH1l9865UnGti3Aq9oxohrlxBzb9vA+grV9Mdan2m7Jpvsv3n8NZrGmly+eoewvOHfeUgx2RvHqm1cHxsZHhpOCLsVp5H3PQ3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iJkpO0jUnY4RXqlN2GiGsl0CkvzkJu+Meq2NHMHO1xE=; b=jGTFYDhDtXs2kBMRxN/I/Duk2j56FWYcT6apmNX11ghshpPIey+mAXB2m0UFOWYDlyPROQbiokXe1iR5eST/3h0W+AQB6GSy/fI9LSaa85FhZE26TJBzmjRaIf9Bd4cb/VFcQMOYQudk7NKAXKRotC8zPYeT/Be7a7Q821y2225vAR2DlKyESygnboqWlGmrSd40LfxlvWvb2xonbcQbshk8COZaf/wVu19bkyNolz+U4tTUKiDI4oWD6iHVdsNuGXkpZJje0lMXsbzs7mI+0K4FXzygAGX3wD+M4rFk4bNAGiUfL9hD0+eElqkuwi5SWLIcQknsPk5I/IshQJx+Yw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
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=iJkpO0jUnY4RXqlN2GiGsl0CkvzkJu+Meq2NHMHO1xE=; b=gvKKBKtTTwLep0WUmkIYnamg/m1a4pu9BjBSrpoZuKZWFbg3jKYZiNrWCtSIVBgFZHNitxs+DKNFhA9xk1gO5wYhSSeehemYdowrEx+orqwj0jS8q2IueYdwDeqRCoZkU34WELUGz1M/pogy0DqFHVBp20+h7TbD6WJjqBQ0syU=
Received: from SJ0PR11MB4896.namprd11.prod.outlook.com (2603:10b6:a03:2dd::20) by SJ0PR11MB5167.namprd11.prod.outlook.com (2603:10b6:a03:2d9::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.13; Wed, 9 Dec 2020 08:03:12 +0000
Received: from SJ0PR11MB4896.namprd11.prod.outlook.com ([fe80::3143:6202:a05:c34c]) by SJ0PR11MB4896.namprd11.prod.outlook.com ([fe80::3143:6202:a05:c34c%3]) with mapi id 15.20.3654.012; Wed, 9 Dec 2020 08:03:12 +0000
From: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
To: Routing Over Low power and Lossy networks <roll@ietf.org>
Thread-Topic: [Roll] Make P-DAO bidirectional [extends] IETF 109 open Questions on P-DAO
Thread-Index: AQHWzfMdmrIloDNomE2Ns+gKyu5Y6anuZfJg
Date: Wed, 09 Dec 2020 08:02:52 +0000
Deferred-Delivery: Wed, 9 Dec 2020 08:02:25 +0000
Message-ID: <SJ0PR11MB489660E1657F3105766B9E76D8CC0@SJ0PR11MB4896.namprd11.prod.outlook.com>
References: <6BF749EE-85B2-4300-8095-59D46ECFBFB5@cisco.com>
In-Reply-To: <6BF749EE-85B2-4300-8095-59D46ECFBFB5@cisco.com>
Accept-Language: fr-FR, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=none action=none header.from=cisco.com;
x-originating-ip: [2a01:cb1d:4ec:2200:145f:188f:f1c2:a887]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 2a98eaba-a211-44e5-8075-08d89c18e037
x-ms-traffictypediagnostic: SJ0PR11MB5167:
x-microsoft-antispam-prvs: <SJ0PR11MB51674BF13BA41E4558F47BD1D8CC0@SJ0PR11MB5167.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: FZL68SPkdEIfEJYyKe0C2JBn3Yty09R07KG3e3lHHw0W7pUGFZD4erJSfmjsuYBjHRvFRaw+s0dZV/AMQMP34j1B0OAZvvLpM+l1jINxDmpv7iMZtet2f/adThM9uwmA2d4Hjh5aKgmwrI4pMvKbKq+YavYwJxfW+mivpqnWzu5RZHRRNhKkU8LuBMv2pLiPpUTdnt9UzmlIXmQOuYZ8wMlUM5e/QPBLVSuNz13A4O9KOXg8fTYufmY93o16XB9ESBEUGYmliJ1T8vCjP6sdjYYqhLYDpyYzSFbKyPhfnHWMDqe2jQYbxEe4fpVORcHptmS0BWfrS41EWYoflzfJJeqjiJxjGPg075Hq/3Yl/UoMqeUoUrQ67sac0IXEsP/2VMbN6sO/l+pLuVqusFqFEw==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR11MB4896.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(136003)(376002)(346002)(396003)(39860400002)(366004)(52536014)(6666004)(478600001)(316002)(66574015)(7696005)(86362001)(6506007)(30864003)(76116006)(83380400001)(66476007)(2906002)(186003)(9686003)(5660300002)(66446008)(33656002)(71200400001)(966005)(53546011)(64756008)(6916009)(8936002)(66556008)(8676002)(45080400002)(66946007)(55016002)(579004)(559001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: SHZ96yoiyHzyO1J3M2lciHKIRsiMYBXrwyiaLaBVWE1s4zHC+c2jUGoCvcuuS3d3PEfHKPD1jkLnGtACnOGts9+Nvu19JUYOpgGbRQejEX/qqT5rgeRA/FFiM7XyiGnBQFZkSO9Ynkn1mzFEB3x+vzM2YEVcZAD1ehecQ0SNiKlFu52ExfuHXs4vUupY2tJTIHfXrt64Xwh4OPoDiLSQur8My+5tdzjndCY/1jSCBDmgyUNJrev1B/0HFIeK1zKyW7XnA8XjbdmfG/TjUris9xEsikZJ0l1G7JiOc1z2cn3JgbzdtUqyUvbBG9tdX4Ipr3XnC3uWyNdDyWjMxMLm0vViD2ojo6MF1Pwt94vhQ8gu7whgjDBgtlWljIpq6Re4gEf9/5i+SKWUjTWsld4JjcoW1hkfR/1+rBa77nK2fvf/M80tn5fSQ4+DV61jnEQNp5pMhao1hkxUHL1zaGZ4cg3ezsVogf/mDXYlDHktKVTfKPz/zgxZTV7gj8Lhd4apb4R95RLFV+al+lv1QFU5V1LlAdtls9wh3LrdaGX1idRpDWI/f1dKAD/3+/U69oFsfsSJ9zEgrb9rm96n2S0OF3r1+17W/J7Qh3hiusVJswC2qSL2sytXHsw0qZes/p6xlDYsi2yJUEKLXlQ6KEuGWPZTKh+7DN6PkpzZmzkyVkpyHINuIOxJizGHNgWVvEmVER/WzWCuf6S5qF0hwLwBVP91KnqZzV7vM+zfM3PB6LLYEKCC9VIUVSuf8AB4Uz563cWca3McgORe6SyTkmmz0vJyXx67H5ib2EUSCCNDmHZkgR9BkFLO1Qavy9+fFGo1nL54Z7qzdHILsKxTmfA1KOQDrEEuR0Kkr5kUCBXd132WHxU8I/vVE2mGAA+RCjhvRH/vX/MH8IVMisAkV2JsDn/pUwrMqIcVuU6onVn8LGNwpOjXflxqLt+mqmggAgutR3lbqcyHdnPGGJxQXbjc2GKDX8QFU+xtgy5gQsq49LZKbkzxcnjidhhqsk7t0A6f5sMS4B0y/7bBQM8KNhCMTO812i84hIBFqp1zDKDBgrgQDFQjdcgMoRQ+gPxE7vfS
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB4896.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2a98eaba-a211-44e5-8075-08d89c18e037
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Dec 2020 08:03:12.6074 (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-CrossTenant-userprincipalname: DdoxHZmaj3ZaKUxMK8gASX4gwpNyq36YeD1S6f+AXvKcomvGiuQtdDHZDIyx4u6SrSiYAnTDcfi9Ksb0FLdEUA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB5167
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.37.102.12, xch-rcd-002.cisco.com
X-Outbound-Node: rcdn-core-11.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/roll/rfjnEpH_Ai5Kf9ybYZ9QPMsBm7k>
Subject: Re: [Roll] Make P-DAO bidirectional [extends] IETF 109 open Questions on P-DAO
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: Wed, 09 Dec 2020 08:03:20 -0000

Hello Huimin 

Documenting the 3 cases (and giving names) looks like a good idea, Huimin. That helps explain what an implementation supports and what it does not. 

I want to ensure that the group understand what can be done, and then we'll provide examples of how that is done. This is what I started with the cases.

I did not get much feedback. Should I assume that the group agrees the examples work?

Pascal 

> -----Original Message-----
> From: Roll <roll-bounces@ietf.org> On Behalf Of Huimin She (hushe)
> Sent: mercredi 9 décembre 2020 07:19
> To: roll@ietf.org
> Subject: Re: [Roll] Make P-DAO bidirectional [extends] IETF 109 open Questions
> on P-DAO
> 
> Hi Pascal,
> 
> Non-storing P-DAO is a very good complement for non-storing RPL.
> One of the practical use case is to find the P2P path via the common ancestor in
> non-storing mode RPL.
> 
> For non-storing P-DAO, I think it's fine to live with Tracks without segments.
> 
> For the P-DAO draft, is it more reasonable to list three cases: non-storing,
> storing, and mixing?
> 
> Best regards,
> Huimin
> 
>     Message: 1
>     Date: Tue, 8 Dec 2020 07:29:37 +0000
>     From: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
>     To: Routing Over Low power and Lossy networks <roll@ietf.org>
>     Subject: Re: [Roll] Make P-DAO bidirectional [extends] IETF 109 open
>     	Questions on P-DAO
>     Message-ID:
> 
> 	<CO1PR11MB48819E978A4064D00E869A75D8CD0@CO1PR11MB48
> 81.namprd11.prod.outlook.com>
> 
>     Content-Type: text/plain; charset="iso-8859-1"
> 
>     Hello Li:
> 
>     > Yes. There is no segment in non-storing mode anymore... It seems that we
> either back to egress as root or accept this shortage?
> 
>     I have been bouncing between the 2. You can see that in the diffs in the
> 6TiSCH architecture. I did again when you suggested the change back to the
> ingress is root. We need to settle. The change was a lot of work
> (https://tools.ietf.org/rfcdiff?url2=draft-ietf-roll-dao-projection-15.txt). The
> reason why I accepted the change is that the RH reload that II explained at IETF
> 109 is far from accepted at 6MAN, and the history we have there with RH
> insertion does not leave much hope anyway. Which leaves us with:
> 
>     a) Tracks are non-storing  paths expressed in strict or loose source route.
> Simple implementations only do strict
>     b) Segments are storing mode paths, that stitch loose SRH paths. This applies
> to the main DODAG and to Tracks. That's the normal segment routing case 1.3
> below.
> 
>     What is also possible but more complex:
>     c) A path can be established by stitching segments without declaring a Track
> (that's case 1.1 below). The Track is implicit.
>     d) Instead of declaring a storing mode segment between 2 loose SRH hops, the
> path can be another Track in which case we need to encapsulate between the
> loose hops. That's the non-storing segment routing case 2.3 below.
> 
>     And then there can be tunneling of traffic beyond the egress, e.g., if the egress
> is a station with multiple devices in it.
> 
>     > Btw, I think mixed storing PDAO /non-storing PDAO/Stitched Segments is
> complex and maybe little bit hard to use in runtime deployment.
> 
> 
>     An implementation will not need to support all possible combinations. It is
> really a matter of what the industry standard -the like of Thread or Wi-Sun- that
> would use RPL P DAO needs. You see it today, most implementations of RPL do
> not support both storing and non-storing modes. But we have a consistent RPL
> RFC which can do both with most things in common.
> 
>     This is something we also observe with RFC 6282. The RFC has to propose all
> possibilities in a consistent fashion with a clear architecture that encompasses all
> cases. But you find that open source implementations, Thread or Wi-Sun did not
> necessarily support the same cases, and would not necessarily interoperate.
> Since those implementations face one another, that is not an issue.
> 
>     When an industry standard moves to P-DAO, it may support, say, only strict
> non-storing mode P-DAOs, if the problem is P2P/automation. It may create only
> one, or it may create more than one P2P path from ingress to egress. It may
> enable tunneling or not.
> 
>     Another standard may only care to shorten the SRH in the main DODAG, in
> which case it will not need the sibling information and the tracks, but just the
> storing mode P-DAO in the main DODAG.  Just like today we have storing mode
> only and non-storing mode only implementations. This is the original use of
> mixed P-DAO segments with loose SRH path. This use case makes a lot of sense
> and is the reason why the group originally adopted the draft.
> 
>     Because it proposes a consistent model, the draft allows a combination of
> tracks and segments. In that case, the SRH that defines a Track is loose, and
> storing mode segments join the dots, like they do in the main DODAG. I agree
> with you, that can be complex in current use cases. So I do not expect industry
> standards to pick it up day 1. But should we add text to say do not do it?
> 
>     It would be a lot worse if there were 10 RFCs that operate differently with no
> consistency and overall architecture!
> 
>     > The original requirement I want to get from pdao-draft is finding an
> available p2p path from PCE with lowest cost. Which means easy to get route
> entry from PCE and easy to maintain in node.
> 
>     > Because either rpl local instance or aodv-p2p mechanism will leverage more
> DIO/DAO/NS messages to maintain the route path.
> 
>     Yes, maybe you can live with non-storing strict SRH for that use case. Do you
> also need to compress the SRH in the main DODAG? I would suspect so.
> 
>     Keep safe;
> 
>     Pascal
> 
>     From: Roll <roll-bounces@ietf.org> On Behalf Of Li Zhao (liz3)
>     Sent: mardi 8 d?cembre 2020 02:07
>     To: Routing Over Low power and Lossy networks <roll@ietf.org>
>     Subject: Re: [Roll] Make P-DAO bidirectional [extends] IETF 109 open
> Questions on P-DAO
> 
>     Hello Pascal,
> 
>     Yes. There is no segment in non-storing mode anymore... It seems that we
> either back to egress as root or accept this shortage?
> 
> 
> 
>     More comments line...
> 
>     Btw, I think mixed storing PDAO /non-storing PDAO/Stitched Segments is
> complex and maybe little bit hard to use in runtime deployment.
>     The original requirement I want to get from pdao-draft is finding an available
> p2p path from PCE with lowest cost. Which means easy to get route entry from
> PCE and easy to maintain in node.
>     Because either rpl local instance or aodv-p2p mechanism will leverage more
> DIO/DAO/NS messages to maintain the route path.
> 
> 
>     Best regards,
>     Li
> 
> 
>     From: Roll <roll-bounces@ietf.org<mailto:roll-bounces@ietf.org>>
>     Date: Friday, November 27, 2020 at 19:52
>     To: Routing Over Low power and Lossy networks
> <roll@ietf.org<mailto:roll@ietf.org>>
>     Subject: Re: [Roll] Make P-DAO bidirectional [extends] IETF 109 open
> Questions on P-DAO
>     Dear all
> 
>     <hard thinking here, sorry, been scratching my head quite a bit, so please bear
> with me>
> 
>     On this thread we decided to change the Root from being the Track egress to
> being the ingress. That is cool for many reasons, but as i said that kills the
> possibility to "reload" the routing header in a multi-segment Track where the
> segments are expressed as non-storing P-DAOs. Why?
> 
>     The operation I presented at IETF 109 involves changing the packet source at
> the segment stitching point and still recognize the packet as being part of a
> Track. The change above makes the packet source is the Root of the Track, so
> the packet source now identifies the Track (together with the RPI). Non-storing
> P-DAOs require to add a routing header. If header insertion was allowed then
> that would not be an issue.
> 
>     But to add a RH cleanly at the segments stitching point, the connecting router
> needs to decapsulate the previous segment and encapsulate the next segment
> with the RH. The connecting router becomes the source, thus the root. Meaning
> that the segment is in fact a Track in its own right as opposed to a segment of the
> complex Track.
> 
>     Another way to say that there is no segment in non-storing mode anymore.
> There are only Tracks that can be further assembled into more complex graphs.
> That is, unless as I said we allow RH insertion despite the disputes we observe on
> the same subject at 6MAN about Segment Routing. Or the TrackID is taken from
> the Global Instance IDs name space. At the moment I'm ignoring those options
> which lead to either political issues or technical limitations.
> 
> 
>     A complex Track can still be expressed as a collection of loose source routing
> paths from a same Ingress == Root.
> 
>     Think of it as a Segment Routing Policy for those familiar with SR. The
> difference is that in SR the loose hops are ECMP path served by the IGP.
> 
>     Here we'll need either non-storing Tracks or storing mode segments, the
> difference being that the storing mode segments do not required re-
> encapsulation. Note that in either case, there can be multiple NECMP
> possibilities.
> 
> 
>     An example maybe?
> 
> 
>     Say we have
> 
>                                     ------ F
>     A------B------C------D------E <
>                                     ------ G
> 
> 
>     A is Track ingress, E is track Egress. C is stitching point. F and G are E's
> neighbors, "external" to the Track, and reachable from A over the Track A->E.
>     In a general manner we want:
> 
>       *   PDAO 1 signals A->B->C
>       *   PDAO 2 signals C->B->E
>       *   PDAO 3 signals F and G via the A->E Track
> 
>     PDAO 3 being loose, it can only be non-storing. Note that since the Root is
> always the ingress of a Track, and all SR-VIOs are now Track, the Root being
> signaled in the DAO base object can now be elided in the VIA list in SR-VIO. This
> enables the construction by the main root of the RFC 8138 optimized SRH-
> 6LoRH in the SR-VIO, to be placed as is in the packet by the Root.
> 
> 
>     1) Storing mode Segments
>     --------------------------------
> 
>     A->B->C and C->D->E are segments of a same Track.
>     Note that the storing mode signaling imposes strict continuity in a segment.
> This may also avoid weird loops.
> 
>     Case 1.1) Stitched Segments
> 
> 
>       1.  storing mode PDAO 1 is sent to E. It has Root = A, VIO = C, D, E, Track ID
> 129 from A's namespace, Target = E, F, G
>       2.  storing mode PDAO 2 is then sent to C. It has Root = A, VIO = A, B, C, Track
> ID 129 from A's namespace, Target = E, F, G
> 
>     E recognizes that it is egress because it is a Target and a segment endpoint.
> 
>     Packets along the Track have source= A, destination = E | F | G, and RPI = 129.
>     >From PDAO 2: A forwards to B and B forwards to C.
>     >From PDAO 1: C forwards to D and D forwards to E.
> 
> 
>     Case 1.2) External routes
> 
> 
>       1.  storing mode PDAO 1 is sent to E. It has Root = A, VIO = C, D, E, Track ID
> 129 from A's namespace, Target = E
>       2.  storing mode PDAO 2 is then sent to C. It has Root = A, VIO = A, B, C, Track
> ID 129 from A's namespace, Target = E
>       3.  non storing mode PDAO 3 is then sent to A. It has Root = A, SRVIO = E,
> Track ID 129 from A's namespace, Target = F, G
> 
>     >From PDAO 3: A encapsulates packets with dest =   F | G as below;
>     Packets along the Track have source= A, destination = E, and RPI = 129.
>     >From PDAO 2: A forwards to B and B forwards to C.
>     >From PDAO 1: C forwards to D and D forwards to E.
>     E decapsulates if encapsulated packet.
> 
> 
> 
>     Case 1.3) Segment Routing
> 
> 
>       1.  storing mode PDAO 1 is sent to E. It has Root = A, VIO = C, D, E, Track ID
> 129 from A's namespace, Target = E
>       2.  storing mode PDAO 2 is then sent to B. It has Root = A, VIO = A, B, Track
> ID 129 from A's namespace, Target = B, C
>       3.  non storing mode PDAO 3 is then sent to A. It has Root = A, SRVIO = C, E,
> Track ID 129 from A's namespace, Target = F, G
> 
> 
>     >From PDAO 3: A encapsulates packets with dest =   F | G as below;
>     Packets from A have source= A, destination = C, SRH = E, and RPI = 129.
>     >From PDAO 2: A forwards to B.
>     B forwards to C based on a sibling connected route; C consumes the RH and
> makes the destination E.
>     >From PDAO 1: C forwards to D and D forwards to E.
>     E decapsulates if encapsulated packet.
> 
> 
> 
>     2) Non Storing mode joining Tracks
>     ---------------------------------------------
> 
>     A->B->C and C->D->E are Tracks expressed as non-storing P-DAOs.
> 
>     Case 2.1 Stitched Tracks
> 
> 
>       1.  non storing mode PDAO 1 is sent to C. It has Root = C, VIO = D, E, Track ID
> 131 from C's namespace, Target = E, F, G
>       2.  non storing mode PDAO 2 is then sent to A. It has Root = A, VIO = B, C,
> Track ID 129 from A's namespace, Target = E, F, G
> 
>     >From PDAO 2: A encapsulates packets with dest =  E | F | G. The outer
> header has source = A, destination = B, SRH = C and RPI = 129.
>     Packets forwarded by B have source= A, destination = C , SRH =, and RPI =
> 129. C decapsulates.
>     >From PDAO 1: C  encapsulates packets with dest =  E | F | G. The outer
> header has source= C, destination = D, SRH = E and RPI = 131.
>     E decapsulates.
> 
> 
>     Case 2.2 External routes
> 
> 
>       1.  non storing mode PDAO 1 is sent to C. It has Root = C, VIO = D, E, Track ID
> 131 from C's namespace, Target = E
>       2.  non storing mode PDAO 2 is then sent to A. It has Root = A, VIO = B, C,
> Track ID 129 from A's namespace, Target = E
>       3.  non storing mode PDAO 3 is then sent to A. It has Root = A, SRVIO = E,
> Track ID 141 from A's namespace, Target = F, G
> 
> 
> 
>     >From PDAO 3: A encapsulates packets with dest =   F | G. The outer header
> has source = A, destination = E, and RPI = 141.
>     This may recurse with:
>     >From PDAO 2: A encapsulates packets with dest =  E. The outer header has
> source = A, destination = B, SRH = C and RPI = 129.
>     Packets forwarded by B have source= A, destination = C , SRH =, and RPI =
> 129. C decapsulates.
>     >From PDAO 1: C  encapsulates packets with dest =  E. The outer header has
> source= C, destination = D, SRH = E and RPI = 131.
>     E decapsulates if encapsulated.
> 
> 
>     Case 2.3 Segment Routing
> 
> 
>       1.  non storing mode PDAO 1 is sent to C. It has Root = C, VIO = D, E, Track ID
> 131 from C's namespace, Target = E
>       2.  non storing mode PDAO 2 is then sent to A. It has Root = A, VIO = B,  Track
> ID 129 from A's namespace, Target = C, E
>       3.  non storing mode PDAO 3 is then sent to A. It has Root = A, SRVIO = C, E,
> Track ID 141 from A's namespace, Target = F, G
> 
> 
>     >From PDAO 3: A encapsulates packets with dest =   F | G. The outer header
> has source = A, destination = C, SRH = E, and RPI = 141.
>     This may recurse with:
>     >From PDAO 2: A encapsulates packets with dest =  C | E . The outer header
> has source = A, destination = B, and RPI = 129.
>     B decapsulates forwards to C based on a sibling connected route; C consumes
> the RH and makes the destination E.
>     >From PDAO 1: C  encapsulates packets with dest =  E. The outer header has
> source= C, destination = D, SRH = E and RPI = 131.
>     E decapsulates, twice for dest =   F | G.
> 
> 
>     Does that work so far?
> 
>     Keep safe
> 
>     Pascal
> 
> 
>     From: Roll <roll-bounces@ietf.org<mailto:roll-bounces@ietf.org>> On Behalf
> Of Pascal Thubert (pthubert)
>     Sent: jeudi 26 novembre 2020 11:47
>     To: Routing Over Low power and Lossy networks
> <roll@ietf.org<mailto:roll@ietf.org>>
>     Subject: Re: [Roll] Make P-DAO bidirectional [extends] IETF 109 open
> Questions on P-DAO
> 
>     Hello Li
> 
>     In the packet, there's a bit in the RPI to say if the root is the source or the
> destination. That's RFC 6550.
>     I guess the discussion is related to the PDR and P-DAO, not data packet,
> though it impacts the ICMP error reporting.
> 
>     In a packet along the P-Route, the idea was so far that the DODAG is a
> convergecast to the destination so the destination is the root. If we say that
> there's a single ingress and a single egress then the dodag is reversible and either
> can be the root. If we want to support multicast tracks in the future, then the
> ingress should be root.
> 
>     If the Track has a single ingress and a single egress, then the DODAG is
> reversible into another DODAG and it does not matter which is root, so we can
> make it bidir as Huimin asked.
>     The storing mode P DAO would look a lot more like a DAO, as you pointed
> out, if it goes towards the root. If we want to take that path, a node could learn
> both directions with a single storing mode P DAO. To be continued...
> 
>     For non-storing, making bidir is really hard. It seems easier to install a Track in
> both directions and couple them.
> 
>     As a summary of the proposed changes:
> 
>     General
>     - we make the root the ingress
>     - ICMP errors sent to the Root, using the main DODAG if the track is not
> reversible
> 
> 
>     Storing mode P DAO:
>     - we also make the root the ingress, P-DAO from egress to ingress are now
> more similar to RPL DAO operation
>     - the track could be made bi-directional, but that's more code; if so:
>       - the packet forwarding leverages the RPI to indicate the direction, from or to
> root
>       - ICMP errors sent to the Root, could be source or destination.
> 
>     Non storing mode P DAO:
>     - tracks remain directional, can be coupled, how is tbd
>     - the RPI is mostly useless since the intermediate nodes do not know the
> instance (they see neither the DIO nor the P-DAO); they have no idea of their
> Rank. Still, it is interesting to have is for error determination in an ICPMP error at
> eth root. It is also interesting if the SRH forwarding nodes have a state associated
> to the Track, e.g., reserved time slots or priority queues.
>     - the RPI is still a SHOULD when there's no compression and a MUST when
> there is. We need to clarify what to do, that's another of Huimin's questions,
> taken separately.
>     - ICMP errors forwarding packets are sent to the root which is now the
> ingress, aka the source of the packet, and the encapsulator field if the packet is
> encapsulated and compressed. This is common to any non-storing operation,
> whether it is a main Instance, local Instance, or Track. The RPI therein is useful to
> indicate the Track in Error. So for that matter the forwarder does not need to
> make a difference Track vs. other form of RPL local instance.
>     - this impacts the discussion in SRH reloading we had at IETF 109, when a  N-S
> mode loose track is forwarded along a segment that is also NS mode. We'll
> probably need to re-encapsulate now.  In case of re-encapsulation, the re-
> encapsulator becomes source and root of the segment, which now has to be
> considered as a serial Track; as tunnel headends do, it will have to decapsulate
> the tunneled packet to send the packet in error back to the ingress of the loose
> track
> 
> 
>     Doe that work?
> 
>     Pascal
> 
>     From: Roll <roll-bounces@ietf.org<mailto:roll-bounces@ietf.org>> On Behalf
> Of Li Zhao (liz3)
>     Sent: jeudi 26 novembre 2020 03:45
>     To: Routing Over Low power and Lossy networks
> <roll@ietf.org<mailto:roll@ietf.org>>
>     Subject: Re: [Roll] Make P-DAO bidirectional [extends] IETF 109 open
> Questions on P-DAO
> 
>     Hello Pascal,
> 
>     If either source or destination can be root, it's better to identify when or in
> which case source or destination can be root. Otherwise, it's hard to interop
> between different implement even though they both follow RFC standard.
> 
>     E.g. for non-storing mode PDAO, if source is root, PCE only responses PDR-
> ACK after receiving PDR from source.
>     But if destination is root, PCE should also notify destination which trackid is
> used. Maybe we need bring new message for this notification?
> 
> 
>     Take care,
>     Li
> 
>     From: Roll <roll-bounces@ietf.org<mailto:roll-bounces@ietf.org>>
>     Date: Wednesday, November 25, 2020 at 21:54
>     To: Routing Over Low power and Lossy networks
> <roll@ietf.org<mailto:roll@ietf.org>>
>     Subject: Re: [Roll] Make P-DAO bidirectional [extends] IETF 109 open
> Questions on P-DAO
>     Hello Li;
> 
>     Well noted. This was the original intent. The change was made to egress
> because the idea was that the track could enable multiple sources to reach the
> egress, like a tree rooted at the egress that flows traverse going down. But the
> idea of a bidirectional track kinda blocks that idea and the other issues like the
> one you point out seem to get us back to the original view. I recently made the
> change from ingress to egress in the 6TiSCH architecture, waiting in RFC editor
> queue. I could reverse back, or maybe say "either source or destination" so it
> can be egress or egress and we are covered for bidirectional.
>     What do you think?
>     Or should a reversable Track be really a pair of tracks?
> 
>     Keep safe;
> 
>     Pascal
> 
>     From: Roll <roll-bounces@ietf.org<mailto:roll-bounces@ietf.org>> On Behalf
> Of Li Zhao (liz3)
>     Sent: mercredi 25 novembre 2020 05:57
>     To: Routing Over Low power and Lossy networks
> <roll@ietf.org<mailto:roll@ietf.org>>
>     Subject: Re: [Roll] Make P-DAO bidirectional [extends] IETF 109 open
> Questions on P-DAO
> 
>     Hello Pascal,
> 
>     Ingress as Root looks better because
>     1.  It is consistent with the way RPL usually works. RPL Local instance, aodv-
> rpl, p2p-rpl all use ingress as root.
>     2.  For non-storing-mode P-DAO, currently ingress sends upward traffic to
> egress(root) with SR header. But in RPL, only downward traffic carries SR
> header.
>     3.  Only ingress can send PDR makes sense. Behavior of TrackId is similar as
> Local Instance ID. Ingress as root can propose TrackId from its namespace.
> 
> 
>     And for storing-mode P-DAO, if we make ingress as root and ingress sends
> PDR, can PCE send P-DAO to egress then egress forwards it towards predecessor
> to ingress?
>     Maybe it helps to make P-DAO looks like a DAO message.
> 
> 
>     Best regards,
>     Li
> 
> 
>     From: Roll <roll-bounces@ietf.org<mailto:roll-bounces@ietf.org>>
>     Date: Tuesday, November 24, 2020 at 21:39
>     To: Routing Over Low power and Lossy networks
> <roll@ietf.org<mailto:roll@ietf.org>>
>     Subject: [Roll] Make P-DAO bidirectional [extends] IETF 109 open Questions
> on P-DAO
>     Dear all
> 
>     Whether to make the P-DAO bidirectional is an intriguing question. It could be
> done, just like we can send packets DOWN a classical DODAG.
>     But if we take that path, we reopen the question of who is root and which
> direction the P-DAO flies.
> 
>     Could we make either the ingress OR the egress root? How does it matter?
> 
>     At the moment the Root is the egress and the storing-mode P-DAO flies from
> the Track egress to the track ingress, and the track egress is the root. This is not
> the way RPL usually works as the DAO flies towards the root. The reason was
> that we wanted a single egress for the Track, as we build unicast Track. If we
> wanted to build multicast Tracks the root should logically be the ingress. And for
> bidirectional Tracks it could be either.
> 
>     Up to -24 the 6TiSCH Architecture expected the ingress to be root. I changed
> in the latest to map we do here, that it is the egress; maybe a flag in the DAO
> would indicate which direction the flow, from root, to root, or both?
> 
>     Also if we build bidir Tracks in storing mode, the nodes that forward the DAO
> will have to build routes in both directions based on the P-DAO, both towards
> egress and ingress; but only the path from which the P-DAO comes has been
> validated by the P-DAO itself. Should we send a P-DAO to each end, each setting
> up one way?
> 
>     Please let me know your thoughts
> 
>     Pascal
> 
> 
>     From: Roll <roll-bounces@ietf.org<mailto:roll-bounces@ietf.org>> On Behalf
> Of Pascal Thubert (pthubert)
>     Sent: mardi 24 novembre 2020 14:22
>     To: Routing Over Low power and Lossy networks
> <roll@ietf.org<mailto:roll@ietf.org>>
>     Subject: [Roll] IETF 109 open Questions on P-DAO
> 
>     Dear all
> 
>     The slides for the P-DAO discussion at IETF 109 are available here:
> 
>     https://datatracker.ietf.org/doc/slides-109-roll-dao-projection/
> 
>     There are a number of open questions that we starting discussing, and would
> need to progress on the list.
>     Some of them were expressed on the list, e.g., from Huimin She. I'd like to
> progress on them all with individual threads.
>     The questions are:
> 
> 
>       1.  Lifetime Unit: could we use a different unit for P-DAO?
>       2.  How to differentiate a P-DAO from a normal DAO in a local instance; new
> flag?
>       3.  Make P-DAO bidirectional?
>       4.  Who sends the PDR? Does it have to be the ingress? If it was egress it
> could propose a TrackId from its namespace. Else could the ingress be the root?
>       5.  Maintaining the sibling state. Should we have text on using RFC 8505
> there?
>       6.  Whether ingress and egress are listed in NPO? Today they are both,
> ingress to indicate the packet source in case of encapsulation and for SRH-6LoRH
> compression reference and egress to build the full SRH-6LoRH. Note that the
> ingress must consume the first entry and use it as source.
>       7.  Track in Track vs. SR Header reload models, see slides
> 
>     Let me open threads to follow up.
> 
>     Keep safe
> 
>     Pascal
> 
> 
> 
> 
> 
> _______________________________________________
> Roll mailing list
> Roll@ietf.org
> https://www.ietf.org/mailman/listinfo/roll