Re: [yang-doctors] Yangdoctors early review of draft-ietf-mpls-msd-yang-02

Yingzhen Qu <yingzhen.ietf@gmail.com> Wed, 20 December 2023 17:01 UTC

Return-Path: <yingzhen.ietf@gmail.com>
X-Original-To: yang-doctors@ietfa.amsl.com
Delivered-To: yang-doctors@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5035FC1AE94F; Wed, 20 Dec 2023 09:01:16 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.107
X-Spam-Level:
X-Spam-Status: No, score=-7.107 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, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] 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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OkoJPEDwFey9; Wed, 20 Dec 2023 09:01:14 -0800 (PST)
Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com [IPv6:2a00:1450:4864:20::233]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 03CAFC14F5F2; Wed, 20 Dec 2023 09:01:11 -0800 (PST)
Received: by mail-lj1-x233.google.com with SMTP id 38308e7fff4ca-2cc794df8aaso38212151fa.0; Wed, 20 Dec 2023 09:01:11 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1703091670; x=1703696470; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=7oFoCJdv2U5gfbchuAnPCHTOzkH5UwFn3BQsM/C04bg=; b=cEqjmjOt/4ZBVeM+qYscfibOh38S3TWYXnFvKbxHHy/dvF//DF5n6PSB9Sp3D0yc5C mEgBG+m2PaANxxOS9HnI9B7U6No7NrVP0fimlMBGNUysEg+MtxBNpEBC9aIiiZgIBVG0 Y0hUl3rI07aUNx2p+DDZ3HGMnkUgNOu8a+J8TRt28hUa9ijOgHUrgw57iYbWvYX1wngJ aiNrZaGdt8thUJEXId3jq1gVD7EwnHe+ciAZo9FwRTU8N9qM8I7l0UT7qAHG5zyw/uqJ hfDvG9hz+W3OKvHDynMyP7b7QB0H5XNhZ7xQKXeyTNK4j/Pis9bfDx4Au3gteRq88qv2 ZJmg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703091670; x=1703696470; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=7oFoCJdv2U5gfbchuAnPCHTOzkH5UwFn3BQsM/C04bg=; b=kIqrUw/8h4Fmn71JMp6Mit1ei8SAhT+BJsls6r53xQmO25qGSHslvl0Fv+liJw8uEw AXWyT54bid2FAwrgRpzzwXby8g1/WhEBQ10KVHTFl7g3Bds/csiaV0qdPuOBIfDVdlL1 UBW8PqnJYAdChlSGUtJUFaCFBJbAiggLCRpCakr+TLSaDmllaFhvGkVYPxKDAKoK0LdF aeXRZyIOEeEChwDmr2GWwpuWd4EyVxrbOvQT7wChHVXv+Pz9NOgy3yVKccpfF+H1/YEX u/6aG19UA0EPbEhHJ7BBjHqc/BxK01DyLfMt+HLu1+8uPypVnFTTXAPmCGEnRsgT3Q6P s/rg==
X-Gm-Message-State: AOJu0Ywy/YRz7O8rfAP/TA1clG1DhIOasWmC06Vd7Pi+OWLErr3VZNAO 8IfjiiG5VH0WRe6FRHCINrIkCtX0bEe+LAt2qgCEriE=
X-Google-Smtp-Source: AGHT+IEmJbQK0ApSxTFve07nfrvrlF62mmeufcfOWbM759UkBDVn/VQJe/jHj9ceRAyLD4iPgUaPGrLpROaJ1ZaBFFI=
X-Received: by 2002:a2e:a4b3:0:b0:2cc:1d8b:5466 with SMTP id g19-20020a2ea4b3000000b002cc1d8b5466mr7511297ljm.10.1703091669934; Wed, 20 Dec 2023 09:01:09 -0800 (PST)
MIME-Version: 1.0
References: <170300112976.56537.3631529033903574839@ietfa.amsl.com> <CABY-gOMdJvT10EHUkMKEvhveUekLt47cRVkaCKXRQxO+cxtYsQ@mail.gmail.com> <BCB7AB6A-C457-4DAC-B559-D623B07522F7@tail-f.com>
In-Reply-To: <BCB7AB6A-C457-4DAC-B559-D623B07522F7@tail-f.com>
From: Yingzhen Qu <yingzhen.ietf@gmail.com>
Date: Wed, 20 Dec 2023 09:00:58 -0800
Message-ID: <CABY-gOMv7YZhAxqcRqZqo9rK5GvVhhKiXAup2=t_HunwPY+J=Q@mail.gmail.com>
To: Jan Lindblad <janl@tail-f.com>
Cc: YANG Doctors <yang-doctors@ietf.org>, draft-ietf-mpls-msd-yang.all@ietf.org, mpls@ietf.org
Content-Type: multipart/alternative; boundary="00000000000001a436060cf3eef9"
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/XzUepQ4tx6S-Ozhymb1JBTkVuN0>
Subject: Re: [yang-doctors] Yangdoctors early review of draft-ietf-mpls-msd-yang-02
X-BeenThere: yang-doctors@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Email list of the yang-doctors directorate <yang-doctors.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/yang-doctors/>
List-Post: <mailto:yang-doctors@ietf.org>
List-Help: <mailto:yang-doctors-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 20 Dec 2023 17:01:16 -0000

Hi Jan,

Please see my questions below inline about the "mandatory" statement.

Thanks,
Yingzhen

On Wed, Dec 20, 2023 at 8:07 AM Jan Lindblad <janl@tail-f.com> wrote:

> Yingzhen,
>
> Thanks for the review and comments. I've uploaded version -03 to address
> your comments. Please see my answers below inline.
>
>
> That was impressively fast :-)
>
> Reviewer: Jan Lindblad
>> Review result: Ready with Issues
>>
>> Hi all,
>>
>> This is my YANG-Doctor Last-Call review of draft-ietf-mpls-msd-yang-02.
>> This
>> draft contains two small and focused modules. They seem to be in pretty
>> good
>> shape, but I do have a couple of issues and nits to discuss.
>>
>> Issue #1: Keyless list
>>
>> The list node-msds is keyless. This is legal for config false lists, but
>> that
>> something is legal does not necessarily make it a good idea. Is there a
>> strong
>> reason for not having a key here? Keyless lists are less efficient, as all
>> clients will have to read the entire list every time. Unless there is a
>> strong
>> reason not to, I would suggest adding a key here.
>>
>> Maybe the msd-type could function as a key for this list, or will there
>> ever be
>> multiple msd entries of the same msd type? Multiple entries of the same
>> msd-type are currently allowed, but I'm not sure what the interpretation
>> of
>> such a server response should be.
>>
>>          list node-msds {
>>            leaf msd-type { ... }
>>            leaf msd-value { ... }
>>          }
>>
> [Yingzhen]: I added a key of "msd-type".
>
>
> Excellent. I think that was a really good change, improving both
> efficiency and clarity.
>
> Issue #2: Optional values
>>
>> Both msd-type and msd-value are modeled as optional. They have no default
>> and
>> there is no description text explaining what it means if either of them is
>> missing. Maybe they should be made mandatory, as I expect the list entry
>> is
>> pretty uninformative unless both are present?
>>
>
> [Yingzhen]: It's meaningless if there is a msd-value without a msd-type.
> Theoretically
> they should always show up as a pair. These are read-only data, so I don't
> think any
> control is needed.
>
>
> Since you confirm my understanding that both values are needed for an
> entry to make sense, I would actually suggest that you mark both as
> mandatory true;   The mandatory concept is also useful for config false
> data. In this case it means the server MUST return these values for each
> entry. This will make it abundantly clear to all that every entry needs to
> have both. Users that are using this model can file a bug report to their
> vendors etc if they see something else, rather than a drawn out
> conversation about what is allowed in this list.
>

[Yingzhen]: although both the msd-type and msd-value are needed for an
entry to make sense, it's possible for a router to not return any entry. My
understanding of a leaf to be mandatory means the leaf has to exist with a
value. Please correct me if I'm wrong.

>
>
> Nit #3: Repetition
>>
>> The msd-type and msd-value leaf definitions are repeated twice in the
>> module
>> (except for a one letter difference in one description that probably is
>> not
>> intentional). I would suggest placing them in a grouping that is
>> referenced in
>> each list to avoid the repetition.
>>
>>            leaf msd-type {
>>              type identityref {
>>                base iana-msd-types:msd-base-mpls;
>>              }
>>              description
>>                "MSD type";
>>            }
>>            leaf msd-value {
>>              type uint8;
>>              description
>>                "MSD value, in the range of 0-255.";
>>            }
>>
>> [Yingzhen]: I added a grouping for this as suggested.
>
>
> Great.
>
>
>
>> Nit #4: Indentation
>>
>> The indentation is a bit off. I'd suggest running the module through a
>> pretty
>> printer, like pyang -f yang.
>>
>> [Yingzhen]: Done. Please let me know if you still see issues.
>
>
> Indentation looks perfect to me now.
>
>
> Nit #5: Typo in reference
>>
>> The revision statement reference has some typos.
>>
>>      revision 2023-10-22 {
>>        description
>>          "Initial Version";
>>        reference
>>          "RFC XXXX: YA YANG Data Model for MPLS MSD..";
>>      }
>>
>> [Yingzhen]: fixed.
>
>
> Nice.
>
> Nit #6: Read only data and get-config
>>
>> In section 5, security considerations, there is a paragraph:
>>
>>    Some of the readable data nodes in the modules may be considered
>>    sensitive or vulnerable in some network environments.  It is thus
>>    important to control read access (e.g., via get, get-config, or
>>    notification) to these data nodes.
>>
>> Since the data in these modules is read-only, it will never show up in
>> get-config, so listing that operation may be somewhat superfluous.
>>
>
> [Yingzhen]:  The text is from the template. I'm not sure whether we should
> change it. If so,
> we can simply remove "(e.g., via get, get-config, or notification) ".
>
>
> My comment here is truly a nit, so I'm not going to ask you to do any
> change, but in principle I think the security considerations should not be
> a place for template text. This section is potentially very important and
> should be tailored to the situation at hand.
>
> Best Regards,
> /jan
>