Skip to main content

Shepherd writeup
draft-ietf-netconf-trace-ctx-extension

# Document Shepherd Write-Up for Group Documents

*This version is dated 4 July 2022.*

Thank you for your service as a document shepherd. Among the responsibilities is
answering the questions in this write-up to give helpful context to Last Call
and Internet Engineering Steering Group ([IESG][1]) reviewers, and your
diligence in completing it is appreciated. The full role of the shepherd is
further described in [RFC 4858][2]. You will need the cooperation of the authors
and editors to complete these checks.

Note that some numbered items contain multiple related questions; please be sure
to answer all of them.

## Document History

1. Does the working group (WG) consensus represent the strong concurrence of a
   few individuals, with others being silent, or did it reach broad agreement?

It reached broad agreement.

2. Was there controversy about particular points, or were there decisions where
   the consensus was particularly rough?

Nothing was controversial.

3. Has anyone threatened an appeal or otherwise indicated extreme discontent? If
   so, please summarize the areas of conflict in separate email messages to the
   responsible Area Director. (It should be in a separate email because this
   questionnaire is publicly available.)

No.

4. For protocol documents, are there existing implementations of the contents of
   the document? Have a significant number of potential implementers indicated
   plans to implement? Are any existing implementations reported somewhere,
   either in the document itself (as [RFC 7942][3] recommends) or elsewhere
   (where)?

Cisco NSO has implemented the draft.

## Additional Reviews

5. Do the contents of this document closely interact with technologies in other
   IETF working groups or external organizations, and would it therefore benefit
   from their review? Have those reviews occurred? If yes, describe which
   reviews took place.

The OPS Directorate has reviewed the document with result "Not ready".
This which was eventually cleared.

https://mailarchive.ietf.org/arch/msg/netconf/TKnj5oepQfG2o2fg7MjqyCAZLD4/

6. Describe how the document meets any required formal expert review criteria,
   such as the MIB Doctor, YANG Doctor, media type, and URI type reviews.

The document includes three YANG modules and they have been reviewed by
the YANG Doctors with result "Ready w/issues".

https://mailarchive.ietf.org/arch/msg/netconf/55RiabodGwfUM5_UP8S7N2dPOew/

7. If the document contains a YANG module, has the final version of the module
   been checked with any of the [recommended validation tools][4] for syntax and
   formatting validation? If there are any resulting errors or warnings, what is
   the justification for not fixing them at this time? Does the YANG module
   comply with the Network Management Datastore Architecture (NMDA) as specified
   in [RFC 8342][5]?

The document contains three YANG modules which all comply with NMDA.

ietf-trace-context@2024-11-07.yang:

pyang:

53: warning: RFC 8407: Appendix B: The text about which RFC this module is part
of seems to be missing or is not correct (see pyang --ietf-help for details).

Need to add a period last in the paragraph referencing rfcXXXX.

yanglint ok

ietf-trace-ctx-traceparent-1.0@2024-11-07.yang:

pyang:

45: warning: RFC 8407: Appendix B: The text about which RFC this module is part
of seems to be missing or is not correct (see pyang --ietf-help for details).

Need to add a period last in the paragraph referencing rfcXXXX.

yanglint ok

The following commands yields a diff

    pyang -f yang --max-line-length 69 --ietf \
          ietf-trace-ctx-traceparent-1.0@2024-11-07.yang > new.yang
    diff ietf-trace-ctx-traceparent-1.0@2024-11-07.yang new.yang

2,3c2
<   namespace
<   "urn:ietf:params:xml:ns:yang:ietf-trace-ctx-traceparent-1.0";
---
>   namespace "urn:ietf:params:xml:ns:yang:ietf-trace-ctx-traceparent-1.0";

However, this line exceeds the max line length. Suggest reformatting
with two space indentation:

   namespace
     "urn:ietf:params:xml:ns:yang:ietf-trace-ctx-traceparent-1.0";

ietf-trace-ctx-tracestate-1.0@2024-11-07.yang:

pyang:

45: warning: RFC 8407: Appendix B: The text about which RFC this module is part
of seems to be missing or is not correct (see pyang --ietf-help for details).

Need to add a period last in the paragraph referencing rfcXXXX.

yanglint ok

8. Describe reviews and automated checks performed to validate sections of the
   final version of the document written in a formal language, such as XML code,
   BNF rules, MIB definitions, CBOR's CDDL, etc.

The document contains NETCONF XML payloads which don't seem to be
validated by automated tests. Furthermore the YANG module doesn't seem
to be validated by automated tests either.

## Document Shepherd Checks

9. Based on the shepherd's review of the document, is it their opinion that this
   document is needed, clearly written, complete, correctly designed, and ready
   to be handed off to the responsible Area Director?

Yes.

This document is ready for publication after the comments made in
questions 7, 14, and 20 are cleared.

10. Several IETF Areas have assembled [lists of common issues that their
    reviewers encounter][6]. For which areas have such issues been identified
    and addressed? For which does this still need to happen in subsequent
    reviews?

No such issues have been identified.

11. What type of RFC publication is being requested on the IETF stream ([Best
    Current Practice][12], [Proposed Standard, Internet Standard][13],
    [Informational, Experimental or Historic][14])? Why is this the proper type
    of RFC? Do all Datatracker state attributes correctly reflect this intent?

Proposed standard.

Reflected correctly on Datatracker.

12. Have reasonable efforts been made to remind all authors of the intellectual
    property rights (IPR) disclosure obligations described in [BCP 79][7]? To
    the best of your knowledge, have all required disclosures been filed? If
    not, explain why. If yes, summarize any relevant discussion, including links
    to publicly-available messages when applicable.

Yes.

No IPR was declared in the IPR Polls during adoption [A] or WGLC [B].

[A] https://mailarchive.ietf.org/arch/msg/netconf/mjNM8jOydhCVHqR2TB0c1z-Y59Q/
[B] https://mailarchive.ietf.org/arch/msg/netconf/Iu4pLm3jHwB43oesyhoZqWFxRwc/

13. Has each author, editor, and contributor shown their willingness to be
    listed as such? If the total number of authors and editors on the front page
    is greater than five, please provide a justification.

Yes.

14. Document any remaining I-D nits in this document. Simply running the [idnits
    tool][8] is not enough; please review the ["Content Guidelines" on
    authors.ietf.org][15]. (Also note that the current idnits tool generates
    some incorrect warnings; a rewrite is underway.)

The YANG module mentioned in Section 2.1 ietf-netconf-context.yang, is
not defined in the document. Following the history, this was originally
defined as ietf-netconf-otlp-context.yang, which is
ietf-trace-context.yang in the -04 revision.

Section 1.4.3 contains the following sentence:

    Spaces and horizontal tabs surrounding list-members are ignored.
    There is no limit to the number of list-members in a list.

Perhaps this should be expanded to include all whitespace? Currently
newlines seem to be significant for the list-member name for instance.
Guessing that this is not the intention.

Furthermore, it is mentioned that the tracestate MAY contain double
quotes and need to be encoded according to XML rules if so. This is
probably wise to also mention for comma (,) and equals (=), as these
might introduce injections.

Since Section 2.1 mandates that error-info MUST contain a
trace-context-error-info structure, ietf-trace-context.yang SHOULD
probably also be included in YANG library.

Section 2.1 gives an example where the erroneous traceparent is echoed
back to the client. This is an attack vector commonly used. Suggest that
the security of this behaviour is considered (and mentioned in the
Security Considerations section), or just avoided by not echoing back
the faulty value to the client. When bad values are encountered further
processing of them should stop immediately.

Section 3.1: Mention that ietf-trace-context.yang has a normative
reference to RFC 8791.

Section 4: Update to use the Security Considerations Section Template
from rfc8407bis.

Nits:

Inconsist usage of RPCs and rpcs. Suggest using RPCs throughout the
document.

Section 2.2 states

    We would like to achieve this goal avoiding the definition of new
    NETCONF capabilities for each headers' version.

I assume that this is managed by defining separate YANG modules per
version for tracestate and traceparent. It is not obviously clear, at a
first read, that this is the intended solution for the problem
statement. Please clarify the connection. Might be enough to just start
the second paragraph with "To resolve this, we define a pair of YANG
modules...".

Suggest that Section 2.2 in some way mentions that the document defines
three YANG modules.

Typos:

Section 2.1

s/formated/formatted/

Section 3.1

s/This  extensions/This extension/

s/additonal/additional/

Section 3.2

s/versiom/version/

15. Should any informative references be normative or vice-versa? See the [IESG
    Statement on Normative and Informative References][16].

No.

16. List any normative references that are not freely available to anyone. Did
    the community have sufficient access to review any such normative
    references?

No such references are listed.

17. Are there any normative downward references (see [RFC 3967][9] and [BCP
    97][10]) that are not already listed in the [DOWNREF registry][17]? If so,
    list them.

No.

18. Are there normative references to documents that are not ready to be
    submitted to the IESG for publication or are otherwise in an unclear state?
    If so, what is the plan for their completion?

No.

19. Will publication of this document change the status of any existing RFCs? If
    so, does the Datatracker metadata correctly reflect this and are those RFCs
    listed on the title page, in the abstract, and discussed in the
    introduction? If not, explain why and point to the part of the document
    where the relationship of this document to these other RFCs is discussed.

No.

20. Describe the document shepherd's review of the IANA considerations section,
    especially with regard to its consistency with the body of the document.
    Confirm that all aspects of the document requiring IANA assignments are
    associated with the appropriate reservations in IANA registries. Confirm
    that any referenced IANA registries have been clearly identified. Confirm
    that each newly created IANA registry specifies its initial contents,
    allocations procedures, and a reasonable name (see [RFC 8126][11]).

The document defines registrations for one (1) NETCONF capability URN,
one (1) XML namespace URN, and three (3) YANG modules.

The following registration of a YANG module in the "YANG Module Names"
registry is wrong,

    name: ietf-trace-context

    prefix: ietf-trace-context

    namespace: urn:ietf:params:xml:ns:yang:trace-context

    RFC: XXXX

The namespace should equal the namespace defined in the YANG module
ietf-trace-context.yang which is

    urn:ietf:params:xml:ns:yang:ietf-trace-context

The following registrations in the IANA registries are correctly defined
in the document.

There is a request to register the capability identifier URN in the
"Network Configuration Protocol (NETCONF) Capability URNs' registry:

    urn:ietf:params:netconf:capability:w3ctc:1.0

There is a request to register the XML namespace in the "IETF XML
registry":

    URI: urn:ietf:params:xml:ns:netconf:w3ctc:1.0

    Registrant Contact: The IETF IESG.

    XML: N/A, the requested URI is an XML namespace.

There is a request for registering the following two YANG modules in the
"YANG Module Names" registry:

    name: ietf-trace-ctx-traceparent-1.0

    prefix: ietf-trace-ctx-traceparent-1.0

    namespace:
    urn:ietf:params:xml:ns:yang:ietf-trace-ctx-traceparent-1.0

    RFC: XXXX

  and

    name: ietf-trace-ctx-tracestate-1.0

    prefix: ietf-trace-ctx-tracestate-1.0

    namespace:
    urn:ietf:params:xml:ns:yang:ietf-trace-ctx-tracestate-1.0

    RFC: XXXX

21. List any new IANA registries that require Designated Expert Review for
    future allocations. Are the instructions to the Designated Expert clear?
    Please include suggestions of designated experts, if appropriate.

No new IANA registries are defined.

[1]: https://www.ietf.org/about/groups/iesg/
[2]: https://www.rfc-editor.org/rfc/rfc4858.html
[3]: https://www.rfc-editor.org/rfc/rfc7942.html
[4]: https://wiki.ietf.org/group/ops/yang-review-tools
[5]: https://www.rfc-editor.org/rfc/rfc8342.html
[6]: https://wiki.ietf.org/group/iesg/ExpertTopics
[7]: https://www.rfc-editor.org/info/bcp79
[8]: https://www.ietf.org/tools/idnits/
[9]: https://www.rfc-editor.org/rfc/rfc3967.html
[10]: https://www.rfc-editor.org/info/bcp97
[11]: https://www.rfc-editor.org/rfc/rfc8126.html
[12]: https://www.rfc-editor.org/rfc/rfc2026.html#section-5
[13]: https://www.rfc-editor.org/rfc/rfc2026.html#section-4.1
[14]: https://www.rfc-editor.org/rfc/rfc2026.html#section-4.2
[15]: https://authors.ietf.org/en/content-guidelines-overview
[16]:
https://www.ietf.org/about/groups/iesg/statements/normative-informative-references/
[17]: https://datatracker.ietf.org/doc/downref/
Back