Re: [Roll] Semantics of DAO ACK

"Pascal Thubert (pthubert)" <pthubert@cisco.com> Wed, 30 September 2015 07:58 UTC

Return-Path: <pthubert@cisco.com>
X-Original-To: roll@ietfa.amsl.com
Delivered-To: roll@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 01D691B2CE1 for <roll@ietfa.amsl.com>; Wed, 30 Sep 2015 00:58:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.511
X-Spam-Level:
X-Spam-Status: No, score=-14.511 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
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 DK2CLv0Zjy3E for <roll@ietfa.amsl.com>; Wed, 30 Sep 2015 00:58:37 -0700 (PDT)
Received: from alln-iport-1.cisco.com (alln-iport-1.cisco.com [173.37.142.88]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2B3EF1A1A70 for <roll@ietf.org>; Wed, 30 Sep 2015 00:58:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=6138; q=dns/txt; s=iport; t=1443599917; x=1444809517; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=OuVXYAHPLxiudMrf6IT7zRG/3MI5BB4W3XPAy/oFtak=; b=bS+4I13ff1wT41H/nO55UC33nIDbQXpLTTKg3s/4b/v1PycOzNik9zm2 3f9C4UHjgT3a+YLSJbbuFaIskGUOFkwIhFJB6TggsUxNBFPq8vscZ+/79 WAXB8bcnkeTJTCHCfsQ35YKwVYqPIY99JAIHI83k6Aym0zwBB6ZFO8nlk E=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AOAgDelQtW/4QNJK1egyRUaQaDJbo/AQ2BcQqFeQIcgSQ4FAEBAQEBAQGBCoQkAQEBBAEBASARNwMXBAIBCBEEAQEBAgIjAwICAiULFAEICAIEEwgTiBMNtmGUawEBAQEBAQEBAQEBAQEBAQEBAQEBARMEgSKFUYR9hCROIgaCY4FDBYc9hnWHRQGNDptJAR8BAUKCERyBVHGIGYEFAQEB
X-IronPort-AV: E=Sophos;i="5.17,611,1437436800"; d="scan'208";a="193119787"
Received: from alln-core-10.cisco.com ([173.36.13.132]) by alln-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 30 Sep 2015 07:58:36 +0000
Received: from XCH-ALN-004.cisco.com (xch-aln-004.cisco.com [173.36.7.14]) by alln-core-10.cisco.com (8.14.5/8.14.5) with ESMTP id t8U7wa6R015997 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL) for <roll@ietf.org>; Wed, 30 Sep 2015 07:58:36 GMT
Received: from xch-rcd-001.cisco.com (173.37.102.11) by XCH-ALN-004.cisco.com (173.36.7.14) with Microsoft SMTP Server (TLS) id 15.0.1104.5; Wed, 30 Sep 2015 02:58:35 -0500
Received: from xch-rcd-001.cisco.com ([173.37.102.11]) by XCH-RCD-001.cisco.com ([173.37.102.11]) with mapi id 15.00.1104.000; Wed, 30 Sep 2015 02:58:35 -0500
From: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
To: Routing Over Low power and Lossy networks <roll@ietf.org>
Thread-Topic: [Roll] Semantics of DAO ACK
Thread-Index: AQHQ+1XIXTm9D29Fq02dhWu58Vn5kA==
Date: Wed, 30 Sep 2015 07:58:24 +0000
Deferred-Delivery: Wed, 30 Sep 2015 07:58:02 +0000
Message-ID: <8f1d44568afa4348a05169bedc3c3020@XCH-RCD-001.cisco.com>
References: <DB5PR01MB10807DAF503BBFF45787599C80420@DB5PR01MB1080.eurprd01.prod.exchangelabs.com> <6d21d0f86ab14ae7a99ff9fe6873b1fd@XCH-RCD-001.cisco.com> <C885EE62-D889-4229-9CCB-B3CB540F5692@sics.se> <560AFDBB.8050505@gmail.com>
In-Reply-To: <560AFDBB.8050505@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.32.172]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/roll/hQhCTQowb1LWATsm16WIM-P0xnY>
Subject: Re: [Roll] Semantics of DAO ACK
X-BeenThere: roll@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Routing Over Low power and Lossy networks <roll@ietf.org>
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, 30 Sep 2015 07:58:39 -0000

Hello all:

The DAO ACK status really is a summary that indicates that there was a problem or not, so if there is none, no need to dig further. With this, the only thing the child can do is globally pick another parent, and, depending on the range in the status, never come back.

But the digging further, I agree, is not specified. If the groups wants it, we'll have to design additional stuff and draft it.

* We could use the status as an enumeration the way people probably expect it. But you'll note that we did not create a registry for it.

* Which hints you that we could also use it as a metric. A scalar degree of unwillingness to serve as a parent, that accounts for stuff like memory, available time slots in a chunk (for 6TiSCH) and/or battery depletion of the node. The status would translate in such things as serving as alternate but not as preferred parent.

For more selective stuff, we would have to indicate the problem in the dao-ack per route advertisement that is a problem. This is a step that we did not take with RFC 6550, people advising that the draft was workable and thick enough without it.

The path that is really accepted in storing mode is self as a transit for a given target. Transit can be aggregated for multiple targets. And there can be multiple transits for a target. The DAO Ack could include the pairs (transit/target) that are trouble  and indicate for each what the trouble is. It could in theory aggregate what's aggregatable, but the way the info in the dao ack is aggregated may have to differ from what was placed in the DAO.

The path control delegates a right to propagate and eventually fan out the advertisement. If the T+T pair is placed in the dao ack, the path control could be used to refuse that right to propagate, so the child would be free to offer that particular pair to an alternate parent. We still have bits in the transit that could indicate stuff if we need it as well.

Thoughts?

Pascal

> -----Original Message-----
> From: Roll [mailto:roll-bounces@ietf.org] On Behalf Of Cenk Gündogan
> Sent: mardi 29 septembre 2015 23:08
> To: roll@ietf.org
> Subject: Re: [Roll] Semantics of DAO ACK
> 
> Hello Joakim,
> 
> This is an interesting question and I also couldn't find any answers in RFC
> 6550.
> However, my thoughts on this are as follows:
> Since a sub-set of the announced RPL targets could have been accepted
> before filling up the routing table (e.g.), I would choose a status code
> between 1 and 127.
> I would expect a node to choose another parent if a more aggressive status
> code is received ([128-255]).
> But a full routing table can have free space again until the next or any
> subsequent DAO arrives ..
> therefore I prefer a "mild rejection" with a status code of [1-127].
> 
> To give some feedback to the originator of the DAO, it might be sensible to
> copy the rejected RPL Target options from the affected DAO to the DAO-
> ACK, so that the originator is fully aware of which Target prefixes got
> rejected (and which ones got accepted, implicitly).
> I would choose this method, because it doesn't require the originator of the
> DAO to save any extra state about the DAO and its contents.
> 
> Nonetheless, everything I wrote is nonconform and I am also interested in
> the RPL experts' opinions and solutions.
> 
> Best,
> Cenk
> 
> On 29.09.2015 21:44, Joakim Eriksson wrote:
> > Hello All,
> >
> > I have spend quite some time to get a more stable implementation of
> > DAO handling for Contiki RPL and I am currently looking into DAO
> > aggregation. But I realised that it is for me not 100% clear what a
> > node that receives a DAO with several prefixes to be registered but
> > can only accept a sub-set of them. Should it be a DAO_NACK in this case
> or is there any other way to handle that case?
> >
> > If each would have been sent separately it is obvious that the
> > receiving node can do a NACK when the routing table is full and
> > therefore it is possible to get fine-grained answers. But with aggregation
> of DAOs this is not the case.
> >
> > Any ideas?
> >
> > Best regards,
> > — Joakim Eriksson, SICS
> > _______________________________________________
> > Roll mailing list
> > Roll@ietf.org
> > https://www.ietf.org/mailman/listinfo/roll
> 
> _______________________________________________
> Roll mailing list
> Roll@ietf.org
> https://www.ietf.org/mailman/listinfo/roll