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

Rahul Jadhav <rahul.ietf@gmail.com> Thu, 14 June 2018 10:03 UTC

Return-Path: <rahul.ietf@gmail.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 05881130DE9 for <roll@ietfa.amsl.com>; Thu, 14 Jun 2018 03:03:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 mXRP7wLQvYW3 for <roll@ietfa.amsl.com>; Thu, 14 Jun 2018 03:03:47 -0700 (PDT)
Received: from mail-vk0-x22e.google.com (mail-vk0-x22e.google.com [IPv6:2607:f8b0:400c:c05::22e]) (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 E7B51124C04 for <roll@ietf.org>; Thu, 14 Jun 2018 03:03:46 -0700 (PDT)
Received: by mail-vk0-x22e.google.com with SMTP id b134-v6so3290347vke.13 for <roll@ietf.org>; Thu, 14 Jun 2018 03:03:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=jP+qSAR1xLGUKzuXTN+ENWzrfs3gU7caxQpjycft0wQ=; b=ng4O57NA5IOxsIbB8UY2rcPwifRCn0SPDPwIw0Qqx69WrmFHdArfgsMt7zTsvqD5vq H3h5sePJS0hKS/tVOxgJ4aTsRvpmjfgpNv8UVtzt4wEieUeUovVJ69/NIv3JA3UkrbeA oWaRpmux6jQnNdGHR8V1YCWqQMTcSrPajQwEWJ5KLzkw2L5XDukH1iiuWvVUBeupdpfx Q7stnuyDEKRHkiKOHZ+dPqkqLmmFhBxOVVf0OdcVZVvZrl+hxBuiri6lkRY7eNTk7umx M2Qo8iUZ4we53c8QhCHcvgBz/Su1oDs6ZKyNqDAFjJn2hZYqqIC65z8bUsH04nix6f0z Ga2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=jP+qSAR1xLGUKzuXTN+ENWzrfs3gU7caxQpjycft0wQ=; b=Rw5cYsdIvgjkFhhEyv3iASNJK7CzpimZqJN8NYFUByycOR35r9iKQ7nC5v6p88lOFa EVHtX4Gw7WIURQUwiGb1t1RqRHmFOyb5m5GLdhl4c3IwZXcxjyXrmpdlkhTu5zzzQZX/ ePy7q+TxoAX3zivTj48TpKNSN1WAj32lZEhkuNXQhvKvmshlW7xHvqKOTVDcudaq0cTD axMYxyIC+qgDs4uMe5V+thYHNLMu/sND5YbekQ9R6XvAW3lkg4M7QrQJoo8mqYJRagNl fG32RaKHSOwRdCduN5/b7qKBUm3J6SNutGe9sshUJ4pHCqIOFSmEi02yzPfuL7qNgX/H Zu1A==
X-Gm-Message-State: APt69E3DDhDV1IcgSfG8vEerruepGjO6HPKZ9vcp++zC3uYGyB1saQtW LsqPSSlaTClG7bfFgbxjKqbjA0XKrdA4qoDwGyQ=
X-Google-Smtp-Source: ADUXVKKNdt94D4MsM7PhWJ/MsVr5LflczzIyhQLNZpY0cOr14X8+J7l/3KIf3FJIMKcw9QTs5jWz6rRkV0vlI18SafY=
X-Received: by 2002:a1f:6a41:: with SMTP id f62-v6mr1110944vkc.110.1528970625830; Thu, 14 Jun 2018 03:03:45 -0700 (PDT)
MIME-Version: 1.0
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> <9c2cd4e89c3f4188b927635727371635@XCH-RCD-001.cisco.com>
In-Reply-To: <9c2cd4e89c3f4188b927635727371635@XCH-RCD-001.cisco.com>
From: Rahul Jadhav <rahul.ietf@gmail.com>
Date: Thu, 14 Jun 2018 15:33:34 +0530
Message-ID: <CAO0Djp20=Oq7_9sFy6fLKDbVZ4C-80rv8qHV5vcomfr2kwBGfA@mail.gmail.com>
To: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
Cc: Routing Over Low power and Lossy networks <roll@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/roll/5BqCCGXqu8-YjrI2av0OQfudriE>
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: Thu, 14 Jun 2018 10:03:51 -0000

If we have to snip-snap, then VIO or via wont matter since the DAO
contents will be changed in either case. Do you mean that the VIOs can
be individually signed since they are containerized unlike via?
I m also not sure if loops can be avoided by indicating shorter
lifetime when closer to egress. Imo, the bigger questions for loop
formation are:
a. when the nodes along the projected segment change their parent
affiliation because of path changes...
b. route invalidation fails midway for the projected segment...
c. If the loop gets formed ... is there a detection scheme (like we
have for storing mode) and any contingency handling thereafter?

Also there is still the question of what to do with multiple
path-sequences in multiple VIOs?

Regards,
Rahul

On Thu, 14 Jun 2018 at 12:14, Pascal Thubert (pthubert)
<pthubert@cisco.com> wrote:
>
> Hello Rahul
>
> I think one intent was to easily snip snap the extra VIOs once they are consumed if we decided to do so. At the moment a node locates itself so it does not matter but that may be impractical..
> With a single VIO that would mean either massage the VIO to shrink it (and then lose chances to sign from the root in the future) or to have an segment-used field like Routing Headers do.
>
> Another intent was to indicate a shorter lifetime when closer to egress. The point being that the route must disappear at ingress before it disappears at egress, otherwise loops may form.
> We need to add words on that.
>
> What do you 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_project
> > > > > > ion It currently supports registration/unregistration of
> > > > > > projected routes using non-storing P-DAO with +/- ACKing.
> > > > > >
> > > > > > Regards,
> > > > > > Rahul