Re: [babel] info-model: calculated and received metrics

Mahesh Jethanandani <mjethanandani@gmail.com> Wed, 17 July 2019 21:42 UTC

Return-Path: <mjethanandani@gmail.com>
X-Original-To: babel@ietfa.amsl.com
Delivered-To: babel@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C12B312011A for <babel@ietfa.amsl.com>; Wed, 17 Jul 2019 14:42:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.997
X-Spam-Level:
X-Spam-Status: No, score=-1.997 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, 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 iWUsi0Zz5cvU for <babel@ietfa.amsl.com>; Wed, 17 Jul 2019 14:42:02 -0700 (PDT)
Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com [IPv6:2607:f8b0:4864:20::62b]) (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 7503512051D for <babel@ietf.org>; Wed, 17 Jul 2019 14:42:02 -0700 (PDT)
Received: by mail-pl1-x62b.google.com with SMTP id k8so12674739plt.3 for <babel@ietf.org>; Wed, 17 Jul 2019 14:42:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=bjxwgyml2Cq36ROSD0S2smBbDPS6YqJllSGR8U0f8O8=; b=VIEcfKplDpuLLf9W3bkhZLzxo5oTymYlsDp6hiiiOVSRBZ4VjxrNk6Azi0T39rX2h6 s3vlSFSv3LEl2kJyGIKAd5v6NiYP0WUwkN8wyjTHcsOtTDmI8R4k/RoucBCSQ2BmVkdE fDAVgnPDc9kwK+yGu5mGgod8x7pO5fG4GAB6dAiwbzZ6gqy+lwo9RBhT9kS6HvA9VYvX Yk7Vyg+X70FCsAOf+OW7wJe/vxh7SQJsJJES/YK3JRRQJrml+QG+kep3nqqXqQ5EuJw6 rwI4yLaINpQkslg+AKo39pUaJ0p67vU8Uf/Hd+5eDCrMHolwLI+JiS0r2rm+vgKHzU0s 2yaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=bjxwgyml2Cq36ROSD0S2smBbDPS6YqJllSGR8U0f8O8=; b=XjOKKT7+Mf2uQ8SbSh6tYXPhLMP5xgXCKpZx3Q8pNRr1ebd0K2+Iztpa5WF/WTPNyd Ts8vcphXvnra7/fauOeIAxbkT38+j0fxLPKslTZoMcLoVuq7O00nkq71m6xnjqJPLmim 7qVN/VI3UJYeq7Ncc2adMRyo2ut4pJM8FWMtZmMyHT9K4dX4JiO2w1ZVzvnZTRT+eQLk zf9F2nwvdTcs3gILnyQLr5UalIf3+xeMTIbsptRoWQt9FHxP/4DLWW+Ytm4q/z3YUhdc ouzDlrkOEMumUxwfPEAuZ75+Og1L9hZSgOMhwQnuKKT19/oE5I0SmVY1WnoSF8V1v8+c HINw==
X-Gm-Message-State: APjAAAWh7A6uP59d9XqiKPmuIzvDe0nh+u3WhJMiAPv+foptc2DfPZkr IJQITU88KtqdmgeHZYvZ2jbx1y3h
X-Google-Smtp-Source: APXvYqxtAyw1dmdRsk3gXMiM/hz5eChNzAKWPksDmJsFWa0f9o+73/TKLP2zqK6+9E6V2QGhboRVLQ==
X-Received: by 2002:a17:902:5c3:: with SMTP id f61mr42609793plf.98.1563399721858; Wed, 17 Jul 2019 14:42:01 -0700 (PDT)
Received: from [10.33.123.117] ([66.170.99.2]) by smtp.gmail.com with ESMTPSA id r27sm29451824pgn.25.2019.07.17.14.42.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 17 Jul 2019 14:42:00 -0700 (PDT)
From: Mahesh Jethanandani <mjethanandani@gmail.com>
Message-Id: <2A368F02-30B0-4C11-BB5B-3AD6D8AF4F3D@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_3C6D3FB1-6665-40BA-BCAA-134E6B4BB6D8"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Date: Wed, 17 Jul 2019 14:41:59 -0700
In-Reply-To: <2D09D61DDFA73D4C884805CC7865E6114E22A14C@GAALPA1MSGUSRBF.ITServices.sbc.com>
Cc: Juliusz Chroboczek <jch@irif.fr>, Babel at IETF <babel@ietf.org>
To: "STARK, BARBARA H" <bs7652@att.com>
References: <2D09D61DDFA73D4C884805CC7865E6114E151182@GAALPA1MSGUSRBF.ITServices.sbc.com> <87h8al9ibp.wl-jch@irif.fr> <2D09D61DDFA73D4C884805CC7865E6114E20EEFD@GAALPA1MSGUSRBF.ITServices.sbc.com> <2D09D61DDFA73D4C884805CC7865E6114E22A14C@GAALPA1MSGUSRBF.ITServices.sbc.com>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/AimcfPESYyr32pdcWdtkHbIT0so>
Subject: Re: [babel] info-model: calculated and received metrics
X-BeenThere: babel@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "A list for discussion of the Babel Routing Protocol." <babel.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/babel>, <mailto:babel-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/babel/>
List-Post: <mailto:babel@ietf.org>
List-Help: <mailto:babel-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/babel>, <mailto:babel-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Jul 2019 21:42:06 -0000

Any reason we cannot change babel-route-received-metric/babel-route-calculated-metric be a int instead of a uint, and all negative values used to signify that the value is NULL/not set?

> On Jul 17, 2019, at 6:58 AM, STARK, BARBARA H <bs7652@att.com> wrote:
> 
> I've heard no response to this question. I've confirmed that in TR-181 I do have a problem (a uint with value of 0 or NULL will be transmitted in a TR-181 data model as 0), because it defines "NULL" as:
> ------------- excerpt from TR-106 Data Model Template --------------------
> Each primitive data type has an associated null value that is used, for example, as the expansion of the {{null}} template (A.2.2.4). These null values are defined as follows:
> * base64, hexBinary, string: an empty string
> * unsignedInt, unsignedLong: 0
> * int, long: -1
> * boolean: false
> * dateTime: 0001-01-01T00:00:00Z (the Unknown Time; see Section 3.2.1)
> A null reference indicates that a reference parameter is not currently referencing anything. The value that indicates a null reference is the null value for the reference parameter's base data type, i.e.:
> * string: an empty string
> * unsignedInt: 0
> * int:
> -------------------------
> But since the problem is just in the reporting and not in the Babel implementation's use of the values, maybe I should just mention that users should be careful when interpreting 0, since it can mean the value was not received / calculated?
> 
> What I could do is something like:
> 
>   babel-route-received-metric:  The metric with which this route was
>      advertised by the neighbor, or maximum value to indicate the route
>      was recently retracted and is temporarily unreachable (see
>      Section 3.5.5 of [I-D.ietf-babel-rfc6126bis]).  This metric will
>      be NULL if the route was not received from a neighbor.  At least one of babel-route-
>      calculated-metric and babel-route-received-metric MUST be non-
>      NULL.  Having both be non-NULL is expected for a route that is
>      received and subsequently advertised.  This is a 16-bit unsigned
>      integer. Some data models may be unable to distinguish between 0 (zero)
>      and NULL for unsigned integers, which will cause NULL values to be
>      reported as 0.
> 
>   babel-route-calculated-metric:  A calculated metric for this route.
>      How the metric is calculated is implementation-specific.  Maximum
>      value indicates the route was recently retracted and is
>      temporarily unreachable (see Section 3.5.5 of
>      [I-D.ietf-babel-rfc6126bis]).  At least one of babel-route-
>      calculated-metric and babel-route-received-metric MUST be non-
>      NULL.  Having both be non-NULL is expected for a route that is
>      received and subsequently advertised.  This is a 16-bit unsigned
>      integer. Some data models may be unable to distinguish between 0 (zero)
>      and NULL for unsigned integers, which will cause NULL values to be
>      reported as 0.
> 
> Barbara
> 
>>>> For a route to exist in the info model babel-routes object, either
>>>> the received or calculated metric MUST be non-zero (rfc6126bis only
>>>> mentions the received metric as being in its route table).
>>> 
>>> Zero is a perfectly fine value for a metric (actually, the very best).
>>> Perhaps you meant defined instead of non-zero?
>> 
>> I don't think I got the descriptions for calculated and received metrics right,
>> given Juliusz statement that 0 is the best possible metric. What I'm struggling
>> with, is what value is assigned to these parameters when they aren't
>> received (for the received metric) or calculated (for the calculated metric)?
>> Should they be "null"? Wouldn't that be a problem in systems/languages that
>> don't distinguish between 0 and null for integer types? Or are there no such
>> languages/systems?
>> 
>> Here are the descriptions in the current draft:
>> 
>>   babel-route-received-metric:  The metric with which this route was
>>      advertised by the neighbor, or maximum value to indicate the route
>>      was recently retracted and is temporarily unreachable (see
>>      Section 3.5.5 of [I-D.ietf-babel-rfc6126bis]).  This metric will
>>      be 0 (zero) if the route was not received from a neighbor but was
>>      generated through other means.  At least one of babel-route-
>>      calculated-metric and babel-route-received-metric MUST be non-
>>      zero.  Having both be non-zero is expected for a route that is
>>      received and subsequently advertised.  This is a 16-bit unsigned
>>      integer.
>> 
>>   babel-route-calculated-metric:  A calculated metric for this route.
>>      How the metric is calculated is implementation-specific.  Maximum
>>      value indicates the route was recently retracted and is
>>      temporarily unreachable (see Section 3.5.5 of
>>      [I-D.ietf-babel-rfc6126bis]).  At least one of babel-route-
>>      calculated-metric and babel-route-received-metric MUST be non-
>>      zero.  Having both be non-zero is expected for a route that is
>>      received and subsequently advertised.  This is a 16-bit unsigned
>>      integer.
>> 
>> Barbara
>> 
>> _______________________________________________
>> babel mailing list
>> babel@ietf.org
>> https://urldefense.proofpoint.com/v2/url?u=https- <https://urldefense.proofpoint.com/v2/url?u=https->
>> 3A__www.ietf.org_mailman_listinfo_babel&d=DwICAg&c=LFYZ-
>> o9_HUMeMTSQicvjIg&r=LoGzhC-
>> 8sc8SY8Tq4vrfog&m=sRdmY_yz1rFLX_CUhRDGHkslpc0QQlaKGcJIsOCpK0s&s
>> =C8UEVNQ3LdSS0-QKrh8puspZGHWfGPY65gDV-zHQbzI&e=
> 
> _______________________________________________
> babel mailing list
> babel@ietf.org <mailto:babel@ietf.org>
> https://www.ietf.org/mailman/listinfo/babel <https://www.ietf.org/mailman/listinfo/babel>
Mahesh Jethanandani
mjethanandani@gmail.com