Re: [babel] info and data models -- feedback requested

"STARK, BARBARA H" <bs7652@att.com> Tue, 21 January 2020 17:29 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 1C78712006B for <babel@ietfa.amsl.com>; Tue, 21 Jan 2020 09:29:46 -0800 (PST)
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 PaOn3MFTiqJw for <babel@ietfa.amsl.com>; Tue, 21 Jan 2020 09:29:41 -0800 (PST)
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 83F0A120899 for <babel@ietf.org>; Tue, 21 Jan 2020 09:29:41 -0800 (PST)
Received: from pps.filterd (m0049463.ppops.net [127.0.0.1]) by m0049463.ppops.net-00191d01. (8.16.0.42/8.16.0.42) with SMTP id 00LHFgCS021276; Tue, 21 Jan 2020 12:29:40 -0500
Received: from alpi154.enaf.aldc.att.com (sbcsmtp6.sbc.com [144.160.229.23]) by m0049463.ppops.net-00191d01. with ESMTP id 2xp4s2hq90-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 21 Jan 2020 12:29:39 -0500
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 00LHTchT027793; Tue, 21 Jan 2020 12:29:39 -0500
Received: from zlp30486.vci.att.com (zlp30486.vci.att.com [135.47.91.177]) by alpi154.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id 00LHTUjo027610 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 21 Jan 2020 12:29:30 -0500
Received: from zlp30486.vci.att.com (zlp30486.vci.att.com [127.0.0.1]) by zlp30486.vci.att.com (Service) with ESMTP id BDE774009E78; Tue, 21 Jan 2020 17:29:30 +0000 (GMT)
Received: from GAALPA1MSGHUBAH.ITServices.sbc.com (unknown [130.8.218.157]) by zlp30486.vci.att.com (Service) with ESMTPS id A12F54009E77; Tue, 21 Jan 2020 17:29:30 +0000 (GMT)
Received: from GAALPA1MSGUSRBF.ITServices.sbc.com ([169.254.5.85]) by GAALPA1MSGHUBAH.ITServices.sbc.com ([130.8.218.157]) with mapi id 14.03.0468.000; Tue, 21 Jan 2020 12:29:30 -0500
From: "STARK, BARBARA H" <bs7652@att.com>
To: 'Mahesh Jethanandani' <mjethanandani@gmail.com>
CC: 'Donald Eastlake' <d3e3e3@gmail.com>, "'babel@ietf.org'" <babel@ietf.org>
Thread-Topic: [babel] info and data models -- feedback requested
Thread-Index: AdXNRgJByTVE3gjKRoepFUG1DhqqXAAVnNqAADRBXoAAUCPK4AAjngEAAAlY3TA=
Date: Tue, 21 Jan 2020 17:29:29 +0000
Message-ID: <2D09D61DDFA73D4C884805CC7865E611537590F3@GAALPA1MSGUSRBF.ITServices.sbc.com>
References: <2D09D61DDFA73D4C884805CC7865E61153754370@GAALPA1MSGUSRBF.ITServices.sbc.com> <53327E10-4D4F-4F2D-9F9C-DC30EC3C1FA1@gmail.com> <CAF4+nEGLgO2Swkd4_DMGmyygM_-jZZKCooNV4OExAR6XR0xcxA@mail.gmail.com> <2D09D61DDFA73D4C884805CC7865E61153757B62@GAALPA1MSGUSRBF.ITServices.sbc.com> <BCAFDF16-31C7-45C7-B42B-2E900D2A1287@gmail.com>
In-Reply-To: <BCAFDF16-31C7-45C7-B42B-2E900D2A1287@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [135.70.112.151]
Content-Type: multipart/alternative; boundary="_000_2D09D61DDFA73D4C884805CC7865E611537590F3GAALPA1MSGUSRBF_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.634 definitions=2020-01-21_05:2020-01-21, 2020-01-21 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_policy_notspam policy=outbound_policy score=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 adultscore=0 malwarescore=0 phishscore=0 bulkscore=0 suspectscore=0 clxscore=1015 mlxlogscore=999 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-1910280000 definitions=main-2001210134
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/O4jh0SunvFnn5kXx2rWb5bD2zaw>
Subject: Re: [babel] info and data models -- feedback requested
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: Tue, 21 Jan 2020 17:29:46 -0000

For logs, I can see several holistic (not focusing on result of a single action) sets of behaviors a user may want to accomplish at the time they’re enabling logging (I’m wording this specifically to be vague about how many commands the user might need to issue):

  1.  Old file is deleted or old memory store is cleared/released, new file is started or memory space created with new reference.
  2.  Old file / memory store stays, new file / memory store is started with new reference. // there is no longer a reference specified in the Babel info model that would point to the old file or memory; some DM schemes, like TR-181, would still allow access to the log (the Babel packet log is a reference to an entry in a log object); where the log came from, though, would be lost unless it was incorporated in the filename by the implementation or otherwise contained in log metadata; may need to consider if something needs to be said about persistence across reboots
  3.  Existing referenced file / memory store is appended.
  4.  Existing referenced file / memory store is cleared and then appended.

1 and 4 are very similar in effect.

Note that there are behaviors that can be enforced by the model, and behaviors that are imposed on compliant implementations (e.g., mandatory to implement). I’m not concerned with whether or not a desired behavior is enforced by a model. I’m perfectly satisfied for desired behaviors to be imposed through implementation compliance. The question for me is what the desired behavior is, and not whether or not any particular DM scheme has the ability to enforce.

I’m thinking (based on opinions expressed to date) that in the absence of a log “reset”, behavior 3 (appending) might be expected to occur (note the info model says nothing about limiting filesize – it’s up to the DM or implementation to do or say something wrt max filesize and what to do when max is reached). If we were to have a log reset, I think either behavior 1 or 4 would be fine, and don’t think we’d need to dictate one or the other in the info model. I’d prefer to avoid 2, because I think it poses a danger of memory leaks. It may also be useful to include a statement that there is no expectation for logs to persist across reboots.

Barbara

From: Mahesh Jethanandani <mjethanandani@gmail.com>

Hi Barbara,

Good point. What would you expect the reset action on packet log to do?

The difference between packet log and statistics from a data model is that, statistics are maintained by the data model. As such a reset causes the values in the data model to be cleared. For the packet log, all that the model does is maintain a pointer to a URL/file where the log is maintained. It does not maintain the contents of that log. A reset action on an object that is external to the model cannot be enforced by the model. All the model can do is clear the pointer, but I gather that is not what you are looking for it to do.

Cheers.


On Jan 20, 2020, at 8:25 AM, STARK, BARBARA H <bs7652@att.com<mailto:bs7652@att.com>> wrote:

That would suggest we should add a reset action for the packet log. We don’t currently have one.
Barbara

From: Donald Eastlake <d3e3e3@gmail.com<mailto:d3e3e3@gmail.com>>
Hi Mahesh and Barbara,

Speaking just as a WG member, it seems to me more flexible for the clearing of statistics and the enablement of statistics to be separate actions. You can always do both if that's wht you want.

Thanks,
Donald
===============================
 Donald E. Eastlake 3rd   +1-508-333-2270 (cell)
 2386 Panoramic Circle, Apopka, FL 32703 USA
 d3e3e3@gmail.com<mailto:d3e3e3@gmail.com>


On Fri, Jan 17, 2020 at 3:13 PM Mahesh Jethanandani <mjethanandani@gmail.com<mailto:mjethanandani@gmail.com>> wrote:


> On Jan 17, 2020, at 7:32 AM, STARK, BARBARA H <bs7652@att.com<mailto:bs7652@att.com>> wrote:
>
> There are 2 items related to the info/data models that have been swirling around in my head over the past month.
>
> 1. Since the most recent drafts of rfc6126bis now have 2 examples of initial interval settings (for cases where fast convergence is desired, or where slow convergence is acceptable and less chattiness is desired), I don't like that we have no means for the user to express what their preference is around this (in case an implementation could support both cases). Should we have something at the top level of the model like:
> boolean                rw converge-fast;
>
>   converge-fast:  Indicates whether the user wants the network to converge
>      quickly (which will cause Babel messages to be sent more frequently), or
>      prefers fewer Babel messages with slower time to convergence.  Fast
>      convergence is desired if "true". An implementation MAY choose to expose
>      this parameter as read-only ("ro").
>
> 2. In BBF, I got a comment related to babel-stats-enable and babel-packet-log-enable. It's unspecified as to whether previous data is discarded when the stats or log are enabled, or the new log entries are appended / existing counts incremented. I tend to agree that the lack of a statement will lead to inconsistency, and would prefer consistent behavior. Mahesh and I had a brief exchange where we disagreed on what the preferred behavior should be -- which suggests there is definitely a strong likelihood of different implementations choosing different behavior in the absence of guidance.

And to clarify the disagreement between Barbara and I was …

The Babel information and data models define a boolean flag that enables/disables the collection of statistics. The Babel data model in addition has an ‘action’ YANG statement defined to clear the statistics being collected. Barbara’s assumption with enabling the boolean flag was that it would implicitly clear all the statistics. But the data model with a separate ‘action’ statement requires it to be called explicitly to clear the statistics.

Unfortunately, there isn’t a way in YANG to invoke the calling of an ‘action’ statement when a certain attribute value toggles. Implementations can choose to make it implicit by including the call to the ‘action’ statement as part of enabling statistics. But it is not something YANG can enforce.

So the question is - should the information model require that enabling of statistics collection also clear the statistics (even if the YANG model cannot enforce it) or leave it to implementations to decide/enforce?

Cheers.

>
> I realize we're past last call. But I think these are important.
>
> Barbara
>
> _______________________________________________
> 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=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=LoGzhC-8sc8SY8Tq4vrfog&m=Ervar6YVPnCewTWpMGUQdvrWDl--UTRIKVyMm-SEvF4&s=DhjYNDHNRPLsBhCPPje6e653wL9I_VCvgpjEGykc0aA&e=>

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



_______________________________________________
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=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=LoGzhC-8sc8SY8Tq4vrfog&m=Ervar6YVPnCewTWpMGUQdvrWDl--UTRIKVyMm-SEvF4&s=DhjYNDHNRPLsBhCPPje6e653wL9I_VCvgpjEGykc0aA&e=>