[Last-Call] Opsdir telechat review of draft-ietf-opsawg-teas-attachment-circuit-18

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Reviewer: Adrian Farrel
Review result: Has Issues

draft-ietf-opsawg-teas-attachment-circuit-18
Reviewer: Adrian Farrel
Review result: Has issues that should be resolved before publication

Hi,

I have reviewed this document as part of the Operational directorate's
ongoing effort to review all IETF documents being processed by the IESG.
These comments were written with the intent of improving the operational
aspects of the IETF drafts. Comments that are not addressed in last call
may be included in AD reviews during the IESG review.  Document editors
and WG chairs should treat these comments just like any other last call
comments.

= Summary =

This document focuses on Attachment Circuits (ACs) that are the
connections exposed by a network to its customers. It provides two YANG
models for managing these ACs treated as services, and for managing the
underlying data links that carry these ACs.

The document contains a fair amount of explanation and justification,
which, while interesting, gets in the way of reading the models and the
description of how they are used.

I found the document relatively easy to read, but there were a large
number of nits. Since the main purpose of my review was not nit-catching
I have probably missed a good number. The document would benefit from a
further pass by a friendly reader.

With the inclusion of all of the introductory material and a lot of
examples, this is a very large document. I feel that we do not do
ourselves a service producing so much text for what is, in effect, a
relatively simple piece of work.

= Management Considerations =

The document is all about the management of attachment circuits and the
bearer channels that carry them. The management aspects of this are 
clear enough, and the examples are plentiful.

The YANG appears to validate cleanly.

= Review =

== Medium ==

I had a lot of trouble matching the tree diagram in Figure 6 to the YANG
in Section 6.1. I got into this when I saw the quartet of 'requested-
start', 'requested-stop', 'actual-start', and 'actual-stop' appear twice
in Figure 6, but only explained once in the text that follows. That made
me try to unpick the YANG to see whether the Figure is wrong or the text
or both.

The clue, of course, is the "uses ac-common:op-instructions;" 

You will probably claim the excuse that the description of the leafs is 
prefixed by "The descriptions of the bearer data nodes are as follows:"
meaning that the text is not intended to apply to the general 'bearers'
grouping. In that case, where you have "A request to create a bearer may
include a set of constraints" you should probably also note the timings.
And, the devious brain asks what happens when the time requested for an
individual bearer falls outside the window set for the group of bearers.
Easily explained, but you need to say it in the text and possibly in the
YANG module itself since it is supposed to be extractable and 
standalone.

I am not a YANG expert, but I wondered whether the tree needs to show 
{ac-common:op-instractions} after each of these four elements.

By the way: I like that you use rw or ro for all of the leafs in your
trees. (Slightly irritating that draft-ietf-opsawg-teas-common-ac
defaults to rw and only indicates the exceptional ro.)

== Minor ==

1.1

It is unfortunate that the best reference for AC that you have is RFC
4364 because the text there (that you quote) is a bit garbled. It looks
like an AC is the connection between any pair of routers!

Given that you have just (concisely) defined an AC, I wonder why you
need this reference and quote.

---

1.1

   When a customer requests a new value-added service

Why the qualifier "value-added"? Surely this applies to any connectivity
service that the customer requests?

(BTW: twice in this paragraph, and then onwards in the document.)

---

1.1

   Since the provisioning of an AC requires a bearer to be in place,
   this document introduces a new module called "ietf-bearer-svc" that
   enables customers to manage their bearer requests (Section 6.1).

You have previously introduced the term "bearer" as:

   the underlying link is referred to as "bearer".

You go on to provide a good definition of "bearer" in section 2.

Now, what is a "bearer request"?  I would translate as "manage their
underlying link requests" and get no clarity of meaning. (Yes I could
go and read 6.1, but I don't want to jump around in the document!)

---

1.2

The explanations of the relationships to other modules are good. And it
is useful to include brief notes about "why not LxSM". However, I think
this section should mention RFC 9181 since you do, in fact, use stuff
from that module.

---

6.1

I was surprised that there are so few identities defined in base
bearer-type. Does this reflect reality or convenience?

---

6.1

I'm surprised that the location information is not already something
that exists in another YANG module. I appreciate that you have made it
importable/useable as a reuseable grouping from this document, but I
wonder if it would be better in a separate module rather than having to
import the whole ietf-bearer-svc module. Please think about this, and 
then "make the right decision".

---

6.1

         leaf sync-phy-type {
           when "../sync-phy-enabled='true'";
           type identityref {
             base sync-phy-type;
           }
           description
             "Type of the physical layer synchronization.";
         }

Shouldn't this be 
           when "../sync-phy-capable='true'";
and 
           config false;

I say this because 'sync-phy-capable' has [my emphasis]
          "Indicates when set to true that *a* mechanism for physical
           layer synchronization is supported for this bearer.

---

7.

I like that you flag 'customer-name' as a vulnerability. But I don't
understand what solution you offer. I suspect that the solution lies in
authentication being applied to control read access not only to the
whole module, but to specific sub-trees in the module. This needs a 
little additional text to make it clear.

Why do you only call out 'customer-name' from the "ietf-ac-svc" module 
and not from the "ietf-bearer-svc" module?

---

Surely section 7 should at least include a reference to section 5.2.5.5.

I would expect some guidance about when to use this grouping (and when
it is OK not to), and particular suggestions about what would happen if
an attacker was able to mess with the leafs in the grouping.

I also see the 'encryption-choice' grouping. Shouldn't that be mentioned
too?

---



== Nits ==

Please consider "Attachment Circuit" or "attachment circuit" and be
consistent throughout.

---

Abstract

s/service model/TANG service model/

You should explain "bearer" because it is a specific term you are using
in this document.

Probably split the Abstract into two paragraphs to make it clearer that
there are two models in the document.

---

1.

You should not have an empty section. I.e., you should have some text
between the header of 1. and the header of 1.1.

---

1.1

"terminating points"
Do you mean "termination points"?

---

1.1

   A connectivity service is basically about ensuring data transfer
   received from or destined to a given terminating point to or from
   other terminating points within the same customer/service, an
   interconnection node, or an ancillary node.

After reading four or five times, I think I can parse this. Surely you
can find a clearer way to carry the "and / or" meaning.

---

1.1

s/document as Attachment Circuit/document as an Attachment Circuit/

---

1.1

s/ACs prior or during/ACs prior to or during/

---

1.1


   The "ietf-ac-svc" module (Section 6.2) includes a set of reusable
   groupings.  Whether a service model reuses structures defined in the
   "ietf-ac-svc" or simply includes an AC reference (that was
   communicated during AC service instantiation) is a design choice of
   these service models.

I think, "Whether a service model that wants to describe the attachment
circuits associated with the service reuses structures..."

---

1.1

   Relying upon the AC service model to manage
   ACs over which services are delivered has the merit of decorrelating
   the management of the (core) service vs. upgrade the AC components to
   reflect recent AC technologies or new features (e.g., new encryption
   scheme, additional routing protocol).

I see what you are saying, but perhaps it could be expressed better?
It's not that you don't have to upgrade for new AC technologies, it is
that you only have to do it in one place rather than in each service
model. Perhaps:

   Relying upon the AC service model to manage
   ACs over which services are delivered has the merit of decorrelating
   the management of the (core) service from the ACs.  This allows
   upgrades (to reflect recent AC technologies or new features such as
   new encryption schemes, or additional routing protocols) to be done
   in just one place rather than in each (core) service model.

---

1.1

Good list of use cases and forward references to the Appendixes. Any
reason why you omit A.9?

---

1.3

   Please apply the following replacements:

   *  XXXX --> the assigned RFC number for this I-D

   *  2023-11-13 --> the actual date of the publication of this document

I found no instances of "2023-11-13". I did find a number of 
"2023-12-12"

On the other hand, I did find "RFC CCCC"

Note also that sometimes you use "xxxx"

--

2.

Should also include LxVPN

---

2. (parent bearer and parent AC)
s/inherit th/inherit the/

---

2.

   Service provider:  A service provider that offers network services
      (e.g., Layer 2 VPN, Layer 3 VPN, or Network Slice Services).

This definition is possibly too self-referential.

---

3.

s/bt/by/

---

3. and Figure 1

It would be useful to say what the directional arrow means.
I think it is "depends upon material in" which is why draft-ietf-opsawg-
teas-common-ac is a normative reference but the other docs are just 
informative.

---

Figure 5 shows a marker "NETCONF/CLI" on the lines from Domain 
Orchestration to Network.

Is this supposed to carry across to the line between Network Controller
and Network? If so: fix the figure. If not: some commentary might help.

---

6.1

     grouping location-information {
       leaf state {

The name is unfortunate because (of course) it is not the state of the
bearer or of the location-information. However, the context is probably 
enough. Would 'region' be a better name?

And should 'city' be positioned before 'postal-code' and 'state'?

---

6.1

leaf sync-phy-capable and leaf sync-phy-enabled

s/Indicates when set to true that/Indicates, when set to true, that/

---

6.2 8341 is missing from the list of RFCs from which imports are made.

---

In your examples, you use line wrapping per RFC 8792, and you say so
clearly. But you don't have a reference to.

I suggest starting the Appendixes with a statement like:
   Some of the examples below use line wrapping per [RFC8792]
and then you can include the reference.



-- 
last-call mailing list -- last-call@xxxxxxxx
To unsubscribe send an email to last-call-leave@xxxxxxxx




[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Mhonarc]     [Fedora Users]

  Powered by Linux