[yang-doctors] YANG Doctors review for draft-ietf-rtgwg-yang-vrrp

Radek Krejčí <rkrejci@cesnet.cz> Thu, 22 December 2016 14:27 UTC

Return-Path: <rkrejci@cesnet.cz>
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 EA3381293F4 for <yang-doctors@ietfa.amsl.com>; Thu, 22 Dec 2016 06:27:07 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.4
X-Spam-Level:
X-Spam-Status: No, score=-7.4 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-3.1] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cesnet.cz
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 2laDmdJjV2a4 for <yang-doctors@ietfa.amsl.com>; Thu, 22 Dec 2016 06:27:06 -0800 (PST)
Received: from office2.cesnet.cz (office2.cesnet.cz [195.113.144.244]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2AE0E1200A0 for <yang-doctors@ietf.org>; Thu, 22 Dec 2016 06:27:06 -0800 (PST)
Received: from [192.168.1.172] (ip4-83-240-38-102.cust.nbox.cz [83.240.38.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by office2.cesnet.cz (Postfix) with ESMTPSA id 30CF9200F0; Thu, 22 Dec 2016 15:27:03 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cesnet.cz; s=office2; t=1482416824; bh=F+MrAgQwSfyYhYsuDV3mqLRDQYWAm8B0ELQBmb/+ec4=; h=Cc:To:From:Subject:Date; b=XY9bz8zT2lhPuAoBf/idcsUZc5ypyJORUBi8HIIWDK46aXuwmMJM5h8Nv9mzmzUTd qNGjo6UUY5Tss9UzN6kZYKDi3LuFjbF5k9hSStjvt8bK9ZktrN4zwhRQDDixOXYD9Q k8A7RgO4uucymWfo4AjMmmH9dkZMjOs1rzIh7unw=
To: draft-ietf-rtgwg-yang-vrrp@tools.ietf.org
From: Radek Krejčí <rkrejci@cesnet.cz>
Organization: CESNET, z.s.p.o.
Message-ID: <ee8f5425-6829-4025-e1a9-f84f94f8cbc5@cesnet.cz>
Date: Thu, 22 Dec 2016 15:27:02 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-2"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/ewxIQW1Qq5TP3bD3LBLZ0BExL-0>
Cc: yang-doctors@ietf.org
Subject: [yang-doctors] YANG Doctors review for draft-ietf-rtgwg-yang-vrrp
X-BeenThere: yang-doctors@ietf.org
X-Mailman-Version: 2.1.17
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: Thu, 22 Dec 2016 14:27:08 -0000

Hi,

I was asked to review the draft-ietf-rtgwg-yang-vrrp document, here are 
my comments:

- overall, the module is in a good shape, the common compilers are able 
to parse it and do not complain about anything

- the I-D text is very brief - some more detailed text about the scope, 
relationship to other (augmented) modules and use cases for the module 
would be welcome. Similarly, I would appreciate more detailed 
description of the specific sections of the module. The use cases can be 
demonstrated on configuration data examples which are now completely 
missing.

- it seems to me that at least some of the leafs in notifications are 
supposed to be mandatory, maybe not only in notifications, but I'm not 
expert in this area.
   - e.g. the interface leaf in vrrp-virtual-router-error-event 
notification, the leaf is then also used in path expression for vrid-v4 
(vrid-v6) leafref

- module imports ietf-interfaces and ietf-ip, thus it MUST contain 
normative references to RFC 7223 and RFC RFC 7277 - in I-D's reference 
section as well as in the module (as other imported modules are already 
referenced)

- unify the new-master-reason-type enums' names: (master-)preempted vs 
master-no-response

- the local module prefix SHOULD be used instead of no prefix in all 
path expressions (e.g. vrid-v4, vrid-v6)

- consider changing type of the version leaf in vrrp-common-attributes 
grouping to identityref - that way it would be possible only to augment 
the current module for any future version of the protocol, enumeration 
is limiting

- vrrp-v3-attributes grouping seems as an addition to the 
vrrp-common-attributes (at least it is always used together with 
vrrp-common-attributes). Do you see (e.g. in some other module) a use 
case to instantiate vrrp-common-attributes without vrrp-v3-attributes? 
If not, the vrrp-v3-attributes should be placed into vrrp-v3-attributes 
grouping. It is also question if it needs in that case a separate 
grouping, the accept-mode leaf could be placed directly into the common 
grouping just with the when condition.

- having a key of the "network" list named "network" (in 
vrrp-ipv4-attributes/track) seems as a bad design, try to rename the 
list or its key, also the descriptions of the network list and its 
container networks are not very clear.

- the names in the comments behind the closing brackets inside the 
vrrp-ipv4-attributes/track container are wrong (e.g. track-interfaces 
instead of interfaces or track-networks instead of networks)

- the previous 2 notes also apply to vrrp-ipv6-attributes grouping

- vrrp-state-attributes/up-time - uptime is usually interpreted as a 
time duration, but here it is used as a moment in time, so if it is not 
defined this way in VRRP protocol, consider renaming

- vrrp-state-attributes/last-event - are the events really so generic 
that the type here must be a string? Maybe having identities for them 
could help readability and understandability.


Radek