Re: [Roll] DAO Projection - identifying storing, non-storing P-DAO

"Pascal Thubert (pthubert)" <pthubert@cisco.com> Mon, 18 June 2018 14:20 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 CFA5912F1AC for <roll@ietfa.amsl.com>; Mon, 18 Jun 2018 07:20:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.51
X-Spam-Level:
X-Spam-Status: No, score=-14.51 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, T_DKIMWL_WL_HIGH=-0.01, 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
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 IRsjIMt9mrjm for <roll@ietfa.amsl.com>; Mon, 18 Jun 2018 07:20:38 -0700 (PDT)
Received: from alln-iport-2.cisco.com (alln-iport-2.cisco.com [173.37.142.89]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BAF05120049 for <roll@ietf.org>; Mon, 18 Jun 2018 07:20:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=30730; q=dns/txt; s=iport; t=1529331638; x=1530541238; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=+Z3bzqTVtn5qymetu+vflPyQ51UbwKvKaflMR6CYQMg=; b=lcwN57NvmaYH8kEiHPd22ArXFQmHQHL5/E5eNozJJ8ng2XXAu5276n+B F/872KimFqjPW6QwdWX4IdVNwU1GNdsHuRDjlWHPw85JhHPJLRFtD4193 74SpxWgeXUEA2cubnP0NAJv16P4w9oRpPbyBh6Bc+fBrjzYyxSFKqojY5 0=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0DkAADdvidb/4cNJK1RChkBAQEBAQEBAQEBAQEHAQEBAQGCU3VifygKg2+IBIxPgX91hyqMUhSBZAsjhEkCF4JEITQYAQIBAQEBAQECbRwMhSgBAQEDASMKTAUHBAIBCBEEAQEhCgICAh8RHQgCBA4FCIMfgRtMAw0ID6kJghyHCg2BLIFjBYhUgVQ/gQ4Bgg5JBy6CUUICgSgNDwQ+gluCVQKRN4czLAkChXqGBYMAiSWEHooSTYZHAhETAYEkHTiBUnAVgn6FfYpSb44JKoEEgRoBAQ
X-IronPort-AV: E=Sophos;i="5.51,239,1526342400"; d="scan'208,217";a="131233334"
Received: from alln-core-2.cisco.com ([173.36.13.135]) by alln-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Jun 2018 14:20:37 +0000
Received: from XCH-RCD-002.cisco.com (xch-rcd-002.cisco.com [173.37.102.12]) by alln-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id w5IEKbaF017676 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Mon, 18 Jun 2018 14:20:37 GMT
Received: from xch-aln-001.cisco.com (173.36.7.11) by XCH-RCD-002.cisco.com (173.37.102.12) with Microsoft SMTP Server (TLS) id 15.0.1320.4; Mon, 18 Jun 2018 09:20:37 -0500
Received: from xch-aln-001.cisco.com ([173.36.7.11]) by XCH-ALN-001.cisco.com ([173.36.7.11]) with mapi id 15.00.1320.000; Mon, 18 Jun 2018 09:20:37 -0500
From: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
To: Rahul Jadhav <rahul.ietf@gmail.com>
CC: Routing Over Low power and Lossy networks <roll@ietf.org>
Thread-Topic: DAO Projection - identifying storing, non-storing P-DAO
Thread-Index: AQHUArmPOlwhv4EjZEKQ3Ahw70fS1aRd5u6wgACDDgD//7V4oIABXriAgAaJfnA=
Date: Mon, 18 Jun 2018 14:20:32 +0000
Deferred-Delivery: Mon, 18 Jun 2018 14:20:16 +0000
Message-ID: <9767f2c6935146dc9045c72599dfccf6@XCH-ALN-001.cisco.com>
References: <CAO0Djp1n9oQ3wDD0TFJZqKD70ZBHP5rXac+Hz7xzS88aQGnYsA@mail.gmail.com> <6b16c897762d4f979b8302022c79bf79@XCH-RCD-001.cisco.com> <CAO0Djp0_1w=-kajs12Cg-yApDqpy1YqLjbPbrxe8uyUxoUoC3Q@mail.gmail.com> <b1282340e5184a34bbd3cb3d2f624997@XCH-RCD-001.cisco.com> <CAO0Djp0_nUSk+V2NyJS-gzZbDdkG_gwYjsDsfiLHs8xuKBSjgA@mail.gmail.com>
In-Reply-To: <CAO0Djp0_nUSk+V2NyJS-gzZbDdkG_gwYjsDsfiLHs8xuKBSjgA@mail.gmail.com>
Accept-Language: fr-FR, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.228.216.12]
Content-Type: multipart/alternative; boundary="_000_9767f2c6935146dc9045c72599dfccf6XCHALN001ciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/roll/40UTKHNl3CRaaxaPVy7oU7bvAt4>
Subject: Re: [Roll] DAO Projection - identifying storing, non-storing P-DAO
X-BeenThere: roll@ietf.org
X-Mailman-Version: 2.1.26
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: Mon, 18 Jun 2018 14:20:42 -0000

Dear all:



To address Rahul's points, I added the generic term of RPO as follows:

"

   This specification introduces 2 new Control Message Options to be used as

   Route Projection Options (RPO). One RPO is the Information option (VIO) and

   the other is the Source-Routed VIO (SRVIO). The VIO installs a route on each

   hop along a projected route (in a fashion analogous to RPL Storing Mode)

   whereas the SRVIO installs a state at the ingress which uses it to insert a

   a routing header in a fashion similar to RPL Non-Storing Mode.

"



Writing new text for this, a few possibilities come to mind:



1) making the  RPOs factorizable. With the VIO/SRVIO separation, and all the via addresses listed in a row, 2 RPOs can mean 2 alternate paths to get to the target. I already added text accordingly:



"

    Like the TIO, the RPOs MUST be preceded by one or more RPL Target options to

    which they apply, and they can be factorized: multiple contiguous RPOs

    indicate alternate paths to the target(s).



"



2) uses VIO and SRVIO as alternates. If we allow the above, can we allow also that the alternate paths are of different types? Right now the text is silent, which kinda hints that you could...



3) intra DODAG routes vs. Inter DODAG routes. As the draft stands now, a P-route is constrained in a DDAG. With a PCE that has a more global view, the P-route could potentially span more than one DODAG. Should we consider this? Note: We’d need an “external” VIO.



What do you all think?



Pascal



> -----Original Message-----

> From: Rahul Jadhav <rahul.ietf@gmail.com>

> Sent: jeudi 14 juin 2018 06:27

> To: Pascal Thubert (pthubert) <pthubert@cisco.com>

> Cc: Routing Over Low power and Lossy networks <roll@ietf.org>

> Subject: Re: DAO Projection - identifying storing, non-storing P-DAO

>

> Yes, using new type (SRVIO) is a better idea.

> Thus we can have SRVIO and VIO for non-storing and storing mode

> respectively and these options will be mutually exclusive .. i.e. when

> SRVIO is sent, there should not be any VIO in the DAO and vice-versa.

>

> For storing mode P-DAO,no is there a reason to have multiple VIOs? I

> mean, can we keep multiple vias in the same VIO? The reason for doing

> this is, currently we have different path-seq/lifetime per VIO and

> having it separately does not help. I m not sure what an

> implementation can do with different path-seq values in multiple VIO

> for the same target from the same originator.

> On Wed, 13 Jun 2018 at 18:06, Pascal Thubert (pthubert)

> <pthubert@cisco.com> wrote:

> >

> > Hello Rahul:

> >

> > As you figured, the original intent was to replace the TIO by a VIO. So yes,

> your proposal is workable.

> > An alternate could be to define a source-routed VIO (SRVIO) with Type = 0xB

> and keep the current VIO for storing mode only.

> >

> > What do you think?

> >

> > Pascal

> >

> >

> > > -----Original Message-----

> > > From: Rahul Jadhav <rahul.ietf@gmail.com>

> > > Sent: mercredi 13 juin 2018 13:58

> > > To: Pascal Thubert (pthubert) <pthubert@cisco.com>

> > > Cc: Routing Over Low power and Lossy networks <roll@ietf.org>

> > > Subject: Re: DAO Projection - identifying storing, non-storing P-DAO

> > >

> > > One thing that comes to my mind is using DAO base object bits... But i m

> not

> > > sure if they can/should be expended for such purpose.

> > > Another option is to use TIO bits and make TIO mandatory preceding the

> VIOs

> > > ... Other fields such as path-seq/lifetime can also be removed from VIO

> and

> > > can be kept only in TIO. Anyways having a different Path-Sequence in

> > > individual VIOs does not help (not sure if having a different path lifetime in

> > > individual VIO is needed?).

> > > For current implementation, i m planning to go ahead with an extra

> > > pass/traversal over the options to check for multiple VIOs.

> > >  On Wed, 13 Jun 2018 at 14:54, Pascal Thubert (pthubert)

> > > <pthubert@cisco.com> wrote:

> > > >

> > > > I agree Rahul,

> > > >

> > > > I picked that method as a starting point but as I presented at the IETF

> > > meeting I do not like it either, and it would be great that the group come

> up

> > > with something better.

> > > >

> > > > Would you have a particular preference based on your experience here?

> > > >

> > > > Pascal

> > > >

> > > >

> > > > > -----Original Message-----

> > > > > From: Rahul Jadhav <rahul.ietf@gmail.com>

> > > > > Sent: mercredi 13 juin 2018 03:55

> > > > > To: Routing Over Low power and Lossy networks <roll@ietf.org>;

> > > > > Pascal Thubert (pthubert) <pthubert@cisco.com>

> > > > > Subject: DAO Projection - identifying storing, non-storing P-DAO

> > > > >

> > > > > Hello Pascal, WG,

> > > > >

> > > > > When i started implementing storing mode P-DAO, i faced one

> problem,

> > > > > ... as per the draft the only way to identify storing P-DAO from

> > > > > non-storing P-DAO is that storing P-DAO has at-least 2 VIOs whereas

> > > > > non-storing P-DAO has only one VIO.

> > > > > The problem with implementation is that i need to traverse the whole

> > > > > P-DAO before i know whether it is storing or non-storing P-DAO and

> > > > > populate the route table accordingly. This way either i have to

> > > > > buffer VIO/via temporarily and then act. Otherwise i have to have a

> > > > > 2-pass traversal through the P-DAO to check whether it is storing or

> > > > > non-storing first and then act on the fields in later pass.

> > > > >

> > > > > If we can have a flag somewhere in the P-DAO header to signal

> > > > > storing or non- storing then it would make implementation much

> simpler.

> > > > >

> > > > > For interested ones, part implementation of DAO projection code is at:

> > > > > https://github.com/whitefield-framework/contiki/tree/dao_projection

> > > > > It currently supports registration/unregistration of projected

> > > > > routes using non-storing P-DAO with +/- ACKing.

> > > > >

> > > > > Regards,

> > > > > Rahul