Last Call Review of draft-boydseda-ipfix-psamp-bulk-data-yang-model-02
review-boydseda-ipfix-psamp-bulk-data-yang-model-02-yangdoctors-lc-bjorklund-2019-12-16-00
| Request | Review of | draft-boydseda-ipfix-psamp-bulk-data-yang-model |
|---|---|---|
| Requested revision | No specific revision (document currently at 03) | |
| Type | IETF Last Call Review | |
| Team | YANG Doctors (yangdoctors) | |
| Deadline | 2019-12-23 | |
| Requested | 2019-11-19 | |
| Requested by | Ignas Bagdonas | |
| Authors | Joey Boyd , Marta Seda | |
| I-D last updated | 2020-10-27 (Latest revision 2020-03-09) | |
| Completed reviews |
Genart IETF Last Call review of -02
by Paul Kyzivat
(diff)
Opsdir IETF Last Call review of -02 by Mehmet Ersue (diff) Opsdir IETF Last Call review of -02 by Joe Clarke (diff) Yangdoctors IETF Last Call review of -02 by Martin Björklund (diff) |
|
| Comments |
Hi there, draft-boydseda-ipfix-psamp-bulk-data-yang-model will be an AD sponsored document, LC expected for mid-December. Thank you. |
|
| Assignment | Reviewer | Martin Björklund |
| State | Completed | |
| Request | IETF Last Call review on draft-boydseda-ipfix-psamp-bulk-data-yang-model by YANG Doctors Assigned | |
| Posted at | https://mailarchive.ietf.org/arch/msg/yang-doctors/Uljf9fTlBcpjAtp6Hv3jfkS0SnE | |
| Reviewed revision | 02 (document currently at 03) | |
| Result | Ready w/nits | |
| Completed | 2019-12-16 |
review-boydseda-ipfix-psamp-bulk-data-yang-model-02-yangdoctors-lc-bjorklund-2019-12-16-00
This is my YANG doctor review of
draft-boydseda-ipfix-psamp-bulk-data-yang-model-02. The review
focuses on YANG-specifics only, since I am not familiar with the
technology that is modelled.
I have compared the modules in this document with the old
"ietf-ipfix-psamp", and have focused by review on the differences
between these models.
Thank you for the well-written and easy to read YANG modules!
o The list transport-session has key "name" with the following
definition:
leaf name {
type name-type;
description
"The name of the transporter session.";
}
This is a new definition; the list in 6728 doesn't have a key.
Since this is a config false list, it is not obvious what this name
should be. I assume it is just an arbitrary string that the server
makes up to uniquely identify the session. I suggest this is
explained in the description of the leaf.
o The list "template" in "transport-session" doesn't have any keys.
I would assume that either just the "template-id", or perhaps also
"observation-domain-id" and "set-id" could be used as key?
(compare with the MIB).
o The list "field" in "transport-session/template" doesn't have any
keys. I would assume that the "ie-id" could be used as key?
(compare with the MIB).
o The old "destinationIPAddress" was a leaf-list of ip addresses, but
is now replaced with a single leaf of type inet:host. Why isn't
this a leaf-list?
Also, this leaf is defined as:
leaf destination-address {
type inet:host;
description
"Destination IP address or hostname. A hostname may
resolve to one or more IP addresses.";
}
}
The description should specify what should happen in the case that
the hostname resolves to more than one IP address. Will there be
one session per IP address? Or will they be tried round-robin? Or
something else?
o There are a couple of nodes in "ietf-ipfix-packet-samplig" that use
the XPath funtion "name" in "when" expressions, e.g.:
leaf export-interval {
when "name(..) = 'permanent-cache'" {
You shoud use "local-name" rather than "name". "name" returns a
QName, and the prefix part of that QName is implementation
dependent.
I have seen this trick in a couple of modules. I understand why it
is used, but it really makes the groupings non-reusable. An
alternative design would be to do:
grouping flow-cache-base-parameters {
leaf max-flows { ... }
}
grouping flow-permanent-cache-parameters {
uses flow-cache-base-parameters;
leaf export-interval { ... }
}
grouping flow-timeout-cache-parameters {
uses flow-cache-base-parameters;
leaf active-timout { ... }
leaf idle-timout { ... }
}
o The leaf is-flow-key has this when expression:
leaf is-flow-key {
when
"(name(../../..) != 'immediate-cache')
and
((count(../ie-enterprise-number) = 0)
or
(../ie-enterprise-number != 29305))" {
It should use 'local-name' as above.
But "count(../ie-enterprise-number)" will always return 1, since
"ie-enterprise-number" has a default value, so this XPath
expression needs to be fixed.
o The YANG modules have some references to RFC 5101, which is
obsoleted by RFC 7011.