Re: [babel] proposed info model change

Mahesh Jethanandani <mjethanandani@gmail.com> Thu, 18 February 2021 18:26 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 442F53A1533 for <babel@ietfa.amsl.com>; Thu, 18 Feb 2021 10:26:16 -0800 (PST)
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, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable 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 Eh8NzILrs-12 for <babel@ietfa.amsl.com>; Thu, 18 Feb 2021 10:26:13 -0800 (PST)
Received: from mail-pg1-x534.google.com (mail-pg1-x534.google.com [IPv6:2607:f8b0:4864:20::534]) (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 6F0D93A1531 for <babel@ietf.org>; Thu, 18 Feb 2021 10:26:13 -0800 (PST)
Received: by mail-pg1-x534.google.com with SMTP id t26so1680431pgv.3 for <babel@ietf.org>; Thu, 18 Feb 2021 10:26:13 -0800 (PST)
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=Fd/jYOTItocHsEjlvUVThJ4tE9aU0mlsid5qQ7oVZFA=; b=pd16AjAdnHtkUMpxBZpEddcN2Sys7cUq3wssaj1RWbup0gETiOvyEAWyZmSmhsHrWO OlabC/gYOivC8DmPNRt6BxbQfHj579JMCdeqIyA4atk8+aGfHLy2CiOM9W+HUUL6KCBt KbwfkClehZmMDVjMDthc1VM4fE0z0DsTBzVUFJQULOgYhZQ5RT0vzvkpIM80v2ul0QER Sx1QKNheLzL0mtAxMrMQ36okjiZldjUyqrbLclMztJ6AeQTEAibzVyOS8uCo4lmPz3d6 zI9iiWOTESmEiRtN+ld5uw+W2OnZxe64/JoGoWHbLMXKMb3OLcYCPZwqAC9/yP5xS3RX c5/g==
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=Fd/jYOTItocHsEjlvUVThJ4tE9aU0mlsid5qQ7oVZFA=; b=B2X053RinemZNPW9RFCstWHe4DN+ArbLed5ryWDTvyiRo5uZMowfjbF/Fxi/J8g25p 5cvt2sdTLiz6lECWGgSfbDMC4TLJSb6unrtsEpcap7S8OyJ1N4rkR9KxrJhc2pDL+JsV tXDC2Brpi/VsYSnmt1MAstyzfH5APTuWSZ/2twjLEaJhMjKjdowwoWixpdfiMxqHmTOf GJYrWoiMp+u6Bw6DmxrfjM2rOZAwVY/EpfdAlUm5uQqYiOUX/QkNGz0tYkft8Blaws2S EeS0buAqBkS1sPK3lIR+oHaidOLMohVEhj+uYfCOE3lEmXd54TWq61omneEgEZz7cZf2 L4lw==
X-Gm-Message-State: AOAM532CERfxfTootCmQElys8yOotDAw1RcHtwUZCTJivrFUoRBLJDP1 7jpPBrHCqvWxVvgoJ9R31uM=
X-Google-Smtp-Source: ABdhPJw1yPqr9xnjbgF5R3+CTf+a7Cf+YDXnXdylFxNlNUWh3Pmbmz3Sv8s6+v3phwAHZhgcyn3+7g==
X-Received: by 2002:a63:fd01:: with SMTP id d1mr4885530pgh.319.1613672772768; Thu, 18 Feb 2021 10:26:12 -0800 (PST)
Received: from ?IPv6:2601:647:5600:5020:9559:eaee:bbd7:a39e? ([2601:647:5600:5020:9559:eaee:bbd7:a39e]) by smtp.gmail.com with ESMTPSA id w83sm6770561pfc.220.2021.02.18.10.26.11 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Feb 2021 10:26:12 -0800 (PST)
From: Mahesh Jethanandani <mjethanandani@gmail.com>
Message-Id: <486C100B-CA66-4B47-9733-3291BA96543C@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_5245059B-EC98-4438-89D8-DF97787679C0"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.4\))
Date: Thu, 18 Feb 2021 10:26:11 -0800
In-Reply-To: <DM6PR02MB69247E8F3F7499A524847D8EC3859@DM6PR02MB6924.namprd02.prod.outlook.com>
Cc: David Schinazi <dschinazi.ietf@gmail.com>, =?utf-8?Q?Toke_H=C3=B8iland-J=C3=B8rgensen?= <toke=40toke.dk@dmarc.ietf.org>, "babel@ietf.org" <babel@ietf.org>
To: "STARK, BARBARA H" <bs7652@att.com>
References: <DM6PR02MB6924E3E2DD5568E247859E18C38C9@DM6PR02MB6924.namprd02.prod.outlook.com> <87blcqpau7.fsf@toke.dk> <E5F69D0C-7130-42D3-9080-C2EE5786D917@gmail.com> <878s7up8n0.fsf@toke.dk> <CAPDSy+6YWPr81uKHrWYoY=TZ0A18A_Ui3=CyLP=1K-ezwmgF-g@mail.gmail.com> <DBBE09E1-F407-4B5A-A096-669E74F25FB4@gmail.com> <DM6PR02MB69249CEAAB32A391274A8ED3C38B9@DM6PR02MB6924.namprd02.prod.outlook.com> <CAPDSy+4uor1P_HiKGEMOTihq+0gb_wuQU21shpgDmVQHNnfv3w@mail.gmail.com> <DM6PR02MB6924B3EDD46D9AD542CA06A8C3869@DM6PR02MB6924.namprd02.prod.outlook.com> <0E5484EE-1465-4E22-B021-AF430B6DA2C7@gmail.com> <DM6PR02MB69247E8F3F7499A524847D8EC3859@DM6PR02MB6924.namprd02.prod.outlook.com>
X-Mailer: Apple Mail (2.3608.120.23.2.4)
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/tjSfGoV4MREXB-MTGCFVhBJ5ITM>
Subject: Re: [babel] proposed info model change
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: Thu, 18 Feb 2021 18:26:16 -0000

Hi Barbara,

Good question.

First a correction. Looking at the info-model, it is clear that there is support for one instance, i.e. one “router-id" on a given router at any particular time, and that there will NOT be multiple instances running on a router at the same time. I am specifically looking at the following line in the info-model.

binary                    ro babel-self-router-id;

I was therefore wrong in implying that the “router-id” acts as a key, as there is only one instance of the protocol on a given router.

If that is the case, the only thing we need from a modeling perspective is to make sure the “router-id” is valid, which is what the must statement allows us to do.

HTH. Thanks.

> On Feb 18, 2021, at 9:30 AM, STARK, BARBARA H <bs7652@att.com> wrote:
> 
> Hi Mahesh,
> Would this still allow the YANG model to use the router-id as a unique key?
> Barbara
>  
> Hi Barbara,
>  
> Thanks for circling back on the question of router-id and its impact on the YANG model.
>  
> Based on the discourse on this thread, it is clear that the “router-id” has meaning when the protocol is enabled. The YANG model can therefore add a conditional statement, i.e. a must statement, that allows the read of the “router-id” only if the protocol is enabled via the “enable” flag. 
>  
> Is the WG acceptable of the change?
> 
> 
> On Feb 17, 2021, at 1:17 PM, STARK, BARBARA H <bs7652@att.com <mailto:bs7652@att.com>> wrote:
>  
> I’d like to circle back around to Mahesh, then, to see if this change is really a good idea from his perspective. If we do this change, then it means an implementation could start with an all-zero router-id before its enabled and then generate a “real” router-id when enabled. Which was what the original all-zero prohibition was trying to prevent. If this is acceptable for YANG (to have a changing router-id), then I see no need for any prohibition in the info model (because the protocol spec will ensure uniqueness when the “real” router-id is generated).  If not acceptable, then it seems to me we need to keep the current info model all-zero prohibition.
> Barbara
>  
> Ah I see, thanks for the explanation! I'm fine with the change then.
>  
> David
>  
> On Fri, Feb 12, 2021 at 6:43 AM STARK, BARBARA H <bs7652@att.com <mailto:bs7652@att.com>> wrote:
> Just to be clear ...
> An enabled Babel instance (that is sending and receiving Babel packets) already has a requirement for unique non-zero router-id. Where we were having a problem was with not-enabled Babel instances that weren’t actively running the protocol (had maybe just been installed). I think it was babeld that was just using a default of all zeroes until it was enabled; at which time it generated its unique router-id. With this not-enabled “zero” default, the possibility exists for multiple not-enabled Babel instances to be defaulted to zero, which would lead to YANG having a problem with having a unique router-id to identify them by.
>  
> The fact that the Babel protocol forbids zero valued router-ids doesn’t mean not-enabled instances can’t have that as a default; and it doesn’t prevent there from being multiple not-enabled instances with a default value.
>  
> TR-181 doesn’t have a problem with this, because it uses a unique key distinct from the router-id. The Babel protocol spec already has what it needs to make sure the router-id for enabled instances are unique (and the data/info model doesn’t need to be involved in policing this). So this really is just about making sure the language is suitable to ensure YANG can use this parameter as a unique key, without putting constraints on the protocol. If YANG were fine with a Babel instance that started with router-id zero and then changed to something else once the protocol started running, then zero wouldn’t be a problem if there is just a single instance with that zero value.
> Barbara
>  
> From: Mahesh Jethanandani <mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>> 
> Sent: Thursday, February 11, 2021 11:56 PM
> To: David Schinazi <dschinazi.ietf@gmail.com <mailto:dschinazi.ietf@gmail.com>>
> Cc: Toke Høiland-Jørgensen <toke=40toke.dk@dmarc.ietf.org <mailto:40toke.dk@dmarc.ietf.org>>; STARK, BARBARA H <bs7652@att.com <mailto:bs7652@att.com>>; babel@ietf.org <mailto:babel@ietf.org>
> Subject: Re: [babel] proposed info model change
>  
> Hi David,
>  
> 
> On Feb 11, 2021, at 7:09 PM, David Schinazi <dschinazi.ietf@gmail.com <mailto:dschinazi.ietf@gmail.com>> wrote:
>  
> We banned all-zeroes and all-ones between draft-ietf-babel-rfc6126bis-00 and draft-ietf-babel-rfc6126bis-01. If memory serves, the idea was to reserve them for future extensibility. Also, banning all-zeroes allows using that as a sentinel value in software.
>  
> Adding the uniqueness requirement sounds good to me, but removing the ban on all-zeroes/all-ones could lead to problems. If the core protocol doesn't allow it, why should the informational model allow it?
>  
> If the protocol banned it, that is a different question, and info model can reflect that. I just wanted to point out that it is not because of the data model.
>  
> Cheers.
>  
> 
>  
> David
>  
> On Thu, Feb 11, 2021 at 2:00 PM Toke Høiland-Jørgensen <toke=40toke.dk@dmarc.ietf.org <mailto:40toke.dk@dmarc.ietf.org>> wrote:
> Mahesh Jethanandani <mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>> writes:
> 
> > Hi Toke,
> >
> > The rational has to do with what a data model like YANG does with
> > router-id. To it the router-id is a key, in the form of a string. That
> > string has to be unique. YANG does not prevent it being a string of
> > zeros or ones, provided that string is unique. Thus the dropping of
> > the "MUST NOT” and the addition of “MUST”.
> 
> Right. I seem to recall there being some other reason why it shouldn't
> be 0, but can't find the discussion now, and looking at the code that
> doesn't seem to care. So no objection from me I guess :)
> 
> -Toke
> 
> _______________________________________________
> babel mailing list
> babel@ietf.org <mailto:babel@ietf.org>
> https://www.ietf.org/mailman/listinfo/babel <https://urldefense.com/v3/__https:/www.ietf.org/mailman/listinfo/babel__;!!BhdT!3HjRHugiRwRBmxjH7eRjssZBgzbBm5snhzyvT2apBtscBdcCqo2THFENFjzZoA$>
>  
> Mahesh Jethanandani
> mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>
>  
> Mahesh Jethanandani
> mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>
Mahesh Jethanandani
mjethanandani@gmail.com