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

"STARK, BARBARA H" <bs7652@att.com> Wed, 17 July 2019 21:54 UTC

Return-Path: <bs7652@att.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 9CE9A1200F9 for <babel@ietfa.amsl.com>; Wed, 17 Jul 2019 14:54:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.498
X-Spam-Level:
X-Spam-Status: No, score=-2.498 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 jpdTj0P3il7f for <babel@ietfa.amsl.com>; Wed, 17 Jul 2019 14:54:25 -0700 (PDT)
Received: from mx0a-00191d01.pphosted.com (mx0b-00191d01.pphosted.com [67.231.157.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DD6681200E7 for <babel@ietf.org>; Wed, 17 Jul 2019 14:54:24 -0700 (PDT)
Received: from pps.filterd (m0049458.ppops.net [127.0.0.1]) by m0049458.ppops.net-00191d01. (8.16.0.27/8.16.0.27) with SMTP id x6HLk0SS023348; Wed, 17 Jul 2019 17:54:23 -0400
Received: from alpi154.enaf.aldc.att.com (sbcsmtp6.sbc.com [144.160.229.23]) by m0049458.ppops.net-00191d01. with ESMTP id 2ttb54193m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 17 Jul 2019 17:54:22 -0400
Received: from enaf.aldc.att.com (localhost [127.0.0.1]) by alpi154.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id x6HLsLtD013019; Wed, 17 Jul 2019 17:54:21 -0400
Received: from zlp30484.vci.att.com (zlp30484.vci.att.com [135.47.91.179]) by alpi154.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id x6HLsFD8012895 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 17 Jul 2019 17:54:15 -0400
Received: from zlp30484.vci.att.com (zlp30484.vci.att.com [127.0.0.1]) by zlp30484.vci.att.com (Service) with ESMTP id 22A644009E7E; Wed, 17 Jul 2019 21:54:15 +0000 (GMT)
Received: from GAALPA1MSGHUBAG.ITServices.sbc.com (unknown [130.8.218.156]) by zlp30484.vci.att.com (Service) with ESMTPS id 09F594009E7D; Wed, 17 Jul 2019 21:54:15 +0000 (GMT)
Received: from GAALPA1MSGUSRBF.ITServices.sbc.com ([169.254.5.84]) by GAALPA1MSGHUBAG.ITServices.sbc.com ([130.8.218.156]) with mapi id 14.03.0439.000; Wed, 17 Jul 2019 17:54:14 -0400
From: "STARK, BARBARA H" <bs7652@att.com>
To: 'Mahesh Jethanandani' <mjethanandani@gmail.com>
CC: 'Juliusz Chroboczek' <jch@irif.fr>, 'Babel at IETF' <babel@ietf.org>
Thread-Topic: [babel] info-model: calculated and received metrics
Thread-Index: AdT2IrfeBlDu4vVISWCthPLc0HSMMgGGM80ADsRlWAABVTbSQAAaAWGAAAhV/dA=
Date: Wed, 17 Jul 2019 21:54:14 +0000
Message-ID: <2D09D61DDFA73D4C884805CC7865E6114E22B256@GAALPA1MSGUSRBF.ITServices.sbc.com>
References: <2D09D61DDFA73D4C884805CC7865E6114E151182@GAALPA1MSGUSRBF.ITServices.sbc.com> <87h8al9ibp.wl-jch@irif.fr> <2D09D61DDFA73D4C884805CC7865E6114E20EEFD@GAALPA1MSGUSRBF.ITServices.sbc.com> <2D09D61DDFA73D4C884805CC7865E6114E22A14C@GAALPA1MSGUSRBF.ITServices.sbc.com> <2A368F02-30B0-4C11-BB5B-3AD6D8AF4F3D@gmail.com>
In-Reply-To: <2A368F02-30B0-4C11-BB5B-3AD6D8AF4F3D@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [130.10.225.82]
Content-Type: multipart/alternative; boundary="_000_2D09D61DDFA73D4C884805CC7865E6114E22B256GAALPA1MSGUSRBF_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-07-17_10:, , signatures=0
X-Proofpoint-Spam-Details: rule=outbound_policy_notspam policy=outbound_policy score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1907170242
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/QE6OfP4_IEomFH24kpANNHyK2Hs>
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:54:28 -0000

I did think about that, and would be ok with it. I also considered stating in the description that data models that don't distinguish between NULL and 0 can use int (negative numbers can represent NULL). Otherwise use uint is fine.
Barbara

From: Mahesh Jethanandani <mjethanandani@gmail.com>

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<mailto: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<mailto:babel@ietf.org>
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://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_babel&d=DwMFAg&c=LFYZ-o9_HUMeMTSQicvjIg&r=LoGzhC-8sc8SY8Tq4vrfog&m=hsquxyVEg_cNK32ZzUpKsmHk0F3Q3tx5gmjJQf2xLPo&s=aO_aczyKjyoXceg-qMimwrhIg3roTGEHfBjG407NN_Q&e=>

Mahesh Jethanandani
mjethanandani@gmail.com<mailto:mjethanandani@gmail.com>