Skip to main content

A YANG Data Model for Static Context Header Compression (SCHC)
draft-ietf-lpwan-schc-yang-data-model-21

Revision differences

Document history

Date Rev. By Action
2024-01-26
21 Gunter Van de Velde Request closed, assignment withdrawn: Joel Jaeggli Last Call OPSDIR review
2024-01-26
21 Gunter Van de Velde Closed request for Last Call review by OPSDIR with state 'Overtaken by Events': Cleaning up stale OPSDIR queue
2023-02-23
21 (System) RFC Editor state changed to AUTH48-DONE from AUTH48
2023-01-31
21 (System) RFC Editor state changed to AUTH48
2023-01-30
21 (System) RFC Editor state changed to AUTH48 from RFC-EDITOR
2022-12-05
21 (System) RFC Editor state changed to RFC-EDITOR from EDIT
2022-11-03
21 (System) IANA Action state changed to RFC-Ed-Ack from Waiting on RFC Editor
2022-11-03
21 (System) IANA Action state changed to Waiting on RFC Editor from In Progress
2022-11-03
21 (System) IANA Action state changed to In Progress from Waiting on Authors
2022-10-13
21 (System) IANA Action state changed to Waiting on Authors from In Progress
2022-10-10
21 (System) RFC Editor state changed to EDIT
2022-10-10
21 (System) IESG state changed to RFC Ed Queue from Approved-announcement sent
2022-10-10
21 (System) Announcement was received by RFC Editor
2022-10-10
21 (System) IANA Action state changed to In Progress
2022-10-10
21 Cindy Morgan IESG state changed to Approved-announcement sent from Approved-announcement to be sent
2022-10-10
21 Cindy Morgan IESG has approved the document
2022-10-10
21 Cindy Morgan Closed "Approve" ballot
2022-10-10
21 Cindy Morgan Ballot approval text was generated
2022-10-09
21 Éric Vyncke As Rob Wilton has cleared his DISCUSS ballot and as the authors have acted/replied on all COMMENTs (including the last one by Rob).
2022-10-09
21 (System) Removed all action holders (IESG state changed)
2022-10-09
21 Éric Vyncke IESG state changed to Approved-announcement to be sent from IESG Evaluation::AD Followup
2022-10-09
21 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-21.txt
2022-10-09
21 Laurent Toutain New version accepted (logged-in submitter: Laurent Toutain)
2022-10-09
21 Laurent Toutain Uploaded new revision
2022-10-09
20 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-20.txt
2022-10-09
20 Laurent Toutain New version accepted (logged-in submitter: Laurent Toutain)
2022-10-09
20 Laurent Toutain Uploaded new revision
2022-10-09
19 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-19.txt
2022-10-09
19 Laurent Toutain New version accepted (logged-in submitter: Laurent Toutain)
2022-10-09
19 Laurent Toutain Uploaded new revision
2022-10-06
18 Robert Wilton [Ballot comment]
Thanks for addressing my comments, I've cleared my discuss. I've put one further suggestion related to the descriptions/references in my email response.
2022-10-06
18 Robert Wilton [Ballot Position Update] Position for Robert Wilton has been changed to No Objection from Discuss
2022-09-28
18 Roman Danyliw
[Ballot comment]
Thank you to Carl Wallace for the SECDIR review.

Thanks for addressing my feedback in -17 and -18.  I leave to the WG …
[Ballot comment]
Thank you to Carl Wallace for the SECDIR review.

Thanks for addressing my feedback in -17 and -18.  I leave to the WG if clarifying this is possible:

** Section 8.
  Therefore, the identity of
  the requester must be validated.  This can be done through
  certificates or access lists.

Is there a particular way which this should be done, or is it expected to follow NACM, and associated NETCONF and RESTCONF?
2022-09-28
18 Roman Danyliw [Ballot Position Update] Position for Roman Danyliw has been changed to No Objection from Discuss
2022-09-28
18 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-18.txt
2022-09-28
18 Laurent Toutain New version accepted (logged-in submitter: Laurent Toutain)
2022-09-28
18 Laurent Toutain Uploaded new revision
2022-08-30
17 Paul Wouters
[Ballot comment]
The -17 version addresses my discuss. Thanks!

Old DISCUSS:

Probably an easy thing to fix,

I see an identity defined as "rcs-rfc8724". Using …
[Ballot comment]
The -17 version addresses my discuss. Thanks!

Old DISCUSS:

Probably an easy thing to fix,

I see an identity defined as "rcs-rfc8724". Using RFC numbers as names can
be confusing if such and RFC is obsoleted for another RFC. Couldn't this
entry be called "rcs-crc32" ?


NITS:

- Section 1 [I-D.ietf-lpwan-architecture] is a broken reference

- Many sections contain [RFC8724] as a broken reference
2022-08-30
17 Paul Wouters [Ballot Position Update] Position for Paul Wouters has been changed to No Objection from Discuss
2022-08-29
17 Roman Danyliw
[Ballot discuss]
** Section 8.

An attacker by changing a rule content may block the
  communication or intercept the traffic. 

...
The full tree …
[Ballot discuss]
** Section 8.

An attacker by changing a rule content may block the
  communication or intercept the traffic. 

...
The full tree is sensitive, since it represents all the elements that
  can be managed.  This module aims to be encapsulated into a YANG
  module including access control and identities.

[ballot for -15 text]

Thanks for calling out the entire tree as “sensitive.”  Please be more specific.  There is mention of write sensitivity (i.e., re-writing the rules).  Please also discuss any issues with reading the tree.

Consider following the template of https://trac.ietf.org/trac/ops/wiki/yang-security-guidelines to distinguish between write and read access.

[ballot for -17 text]
Thanks for the additional words about write sensitivity.  What is the impact of an attacker reading the module?
2022-08-29
17 Roman Danyliw
[Ballot comment]
Thank you to Carl Wallace for the SECDIR review.

Thanks for addressing some of the COMMENTs.

===
(updated for -17)

** Section 8. …
[Ballot comment]
Thank you to Carl Wallace for the SECDIR review.

Thanks for addressing some of the COMMENTs.

===
(updated for -17)

** Section 8.
  The rule contains some sensible informations such as the application
  IPv6 address. 

Can this be restated?  What is “sensible information”?  Is this perhaps "sensitive" --> s/sensible/sensitive/?

** Section 8.
  Therefore, the identity of
  the requester must be validated.  This can be done through
  certificates or access lists.

Is there a particular way which this should be done, or is it expected to follow NACM, and associated NETCONF and RESTCONF?
2022-08-29
17 Roman Danyliw Ballot comment and discuss text updated for Roman Danyliw
2022-08-26
17 (System) Changed action holders to Éric Vyncke (IESG state changed)
2022-08-26
17 (System) Sub state has been changed to AD Followup from Revised ID Needed
2022-08-26
17 (System) IANA Review state changed to Version Changed - Review Needed from IANA OK - Actions Needed
2022-08-26
17 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-17.txt
2022-08-26
17 (System) New version approved
2022-08-26
17 (System) Request for posting confirmation emailed to previous authors: Ana Minaburo , Laurent Toutain , lpwan-chairs@ietf.org
2022-08-26
17 Laurent Toutain Uploaded new revision
2022-08-25
16 (System) Changed action holders to Laurent Toutain, Éric Vyncke, Ana Minaburo (IESG state changed)
2022-08-25
16 Cindy Morgan IESG state changed to IESG Evaluation::Revised I-D Needed from IESG Evaluation
2022-08-25
16 Sabrina Tanamal IANA Review state changed to IANA OK - Actions Needed from Version Changed - Review Needed
2022-08-25
16 Robert Wilton
[Ballot discuss]
Hi,

Thanks for this document.  I would like to discuss whether it is possible/appropriate to add an instance data example (as per my …
[Ballot discuss]
Hi,

Thanks for this document.  I would like to discuss whether it is possible/appropriate to add an instance data example (as per my comment 1 below) to this document, or if that is inappropriate or unhelpful for some reason.
2022-08-25
16 Robert Wilton
[Ballot comment]
Moderate level comments:

(1) p 0, sec

        Data Model for Static Context Header Compression (SCHC)
        …
[Ballot comment]
Moderate level comments:

(1) p 0, sec

        Data Model for Static Context Header Compression (SCHC)
                draft-ietf-lpwan-schc-yang-data-model-16

This document is missing an instance data example of the YANG data.  Generally, examples (e.g., see the appendixes in RFC 8343, is very helpful both for the authors of the YANG module, to see/know that the structure is right, and also to give helpful context to readers/users of the YANG module).  I would strongly encourage you to add such an example (which should be validated to be correct) to this document.


(2) p 41, sec 6.  YANG Module

      choice mode {
        case no-ack;
        case ack-always;

The case statement never turn up in the instance data that conforms to the YANG schema, so users of the module would never be able to differentiate between no-ack and ack-always.  You might want to put a leaf, of type empty, under each of these two case statements.



Minor level comments:

(3) p 6, sec 4.2.  Identifier generation

    identity rcs-RFC8724 {
      base rcs-algorithm-base-type;
      description
        "CRC 32 defined as default RCS in RFC8724. RCS is 4 bytes long";
    }

I agree with a previous comment that not having the RFC name in the identity would be better.


(4) p 11, sec 4.10.5.  Timer values

  *  retransmission-timer gives the duration before sending an ack
      request (cf. section 8.2.2.4. of [RFC8724]).  If specified, value
      MUST be strictly positive.

I would suggest splitting the grouping into separate timers (and have the slight duplication in the YANG module).  This would allow you to trivially enforce the "strictly positive" in the YANG module (with range "1..max"), and make the inactivity-timer description clear about the meaning for 0.


(5) p 16, sec 6.  YANG Module

    identity fid-ipv6-version {
      base fid-ipv6-base-type;
      description
        "IPv6 version field from RFC 8200.";

I think that it would be better for the descriptions not to mention "from RFC XXX" that they are taken from (which may be updated over time).  The RFC is already referenced in the reference statement.  This comment applies to other similar "from RFC XXX" descriptions.


(6) p 17, sec 6.  YANG Module

    identity fid-ipv6-trafficclass-ds {
      base fid-ipv6-trafficclass;
      description
        "IPv6 Traffic Class field from RFC 8200,
          DiffServ field from RFC 3168.";
      reference
        "RFC 3168 The Addition of Explicit Congestion Notification
                  (ECN) to IP";

I would suggest including both drafts in the references here (and taking them out of the description, as per my previous comment).


(7) p 29, sec 6.  YANG Module

    typedef fl-type {
      type union {
        type uint64; /* positive integer, expressing length in bits */

I suggest adding range "1..max", and removing the C style comment (which isn't visible to users of the YANG module).


(8) p 43, sec 7.  Implementation Status

Is the intention that this section is removed by the RFC editor?  If so, please add a comment to the RFC editor here.



Nit level comments:

(9) p 7, sec 4.5.  Convention for Field position

  Field position is a positive integer which gives he occurrence times
  of a specific field.  The default value is 1, and incremented at each

s/he/the/


(10) p 7, sec 4.6.  Convention for Direction Indicator

  The Direction Indicator (di) is used to tell if a field appears in
  both direction (Bi) or only uplink (Up) or Downlink (Dw).  The naming
  convention is "di" followed by the Direction Indicator name.

s/direction/directions/


(11) p 29, sec 6.  YANG Module

        type identityref { /* function */

I suggest removing the C style comment, since this is already covered by the description below.

Regards,
Rob
2022-08-25
16 Robert Wilton [Ballot Position Update] New position, Discuss, has been recorded for Robert Wilton
2022-08-25
16 (System) IANA Review state changed to Version Changed - Review Needed from IANA OK - Actions Needed
2022-08-25
16 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-16.txt
2022-08-25
16 (System) New version approved
2022-08-25
16 (System) Request for posting confirmation emailed to previous authors: Ana Minaburo , Laurent Toutain , lpwan-chairs@ietf.org
2022-08-25
16 Laurent Toutain Uploaded new revision
2022-08-25
15 Andrew Alston [Ballot Position Update] New position, No Objection, has been recorded for Andrew Alston
2022-08-25
15 Murray Kucherawy [Ballot comment]
Question 20 on the shepherd writeup says there were no IANA actions here, but in fact there were two.
2022-08-25
15 Murray Kucherawy [Ballot Position Update] New position, No Objection, has been recorded for Murray Kucherawy
2022-08-24
15 Warren Kumari [Ballot Position Update] New position, No Objection, has been recorded for Warren Kumari
2022-08-24
15 John Scudder [Ballot comment]
Nits:

- s/serveur/server/
- I suggest "an informal" as a more idiomatic option where "a non formal" is used.
2022-08-24
15 John Scudder [Ballot Position Update] New position, No Objection, has been recorded for John Scudder
2022-08-24
15 Roman Danyliw
[Ballot discuss]
** Section 8.

An attacker by changing a rule content may block the
  communication or intercept the traffic. 

...
The full tree …
[Ballot discuss]
** Section 8.

An attacker by changing a rule content may block the
  communication or intercept the traffic. 

...
The full tree is sensitive, since it represents all the elements that
  can be managed.  This module aims to be encapsulated into a YANG
  module including access control and identities.

Thanks for calling out the entire tree as “sensitive.”  Please be more specific.  There is mention of write sensitivity (i.e., re-writing the rules).  Please also discuss any issues with reading the tree.

Consider following the template of https://trac.ietf.org/trac/ops/wiki/yang-security-guidelines to distinguish between write and read access.
2022-08-24
15 Roman Danyliw
[Ballot comment]
Thank you to Carl Wallace for the SECDIR review.

Section 3.8.

  The naming convention is "mo" followed by the MO name.

  …
[Ballot comment]
Thank you to Carl Wallace for the SECDIR review.

Section 3.8.

  The naming convention is "mo" followed by the MO name.

  The type is "mo-type"

The text states the prefix is “me”, but the example and YANG module suggests convention of “mo-“ (“mo” followed by a “-“). Is the intent for there to be a hyphen or is “moField2” still following the convention.  Same comment for the “cda” convention.

** Section 8.  The diagram references CORECONF, but there is no other text on it.  I recommend removing it.

** Section 8.
  The rule contains some sensible informations such as the application
  IPv6 address. 

Can this be restated?  What is “sensible information”?

** Section 8.
  Therefore, the identity of
  the requester must be validated.  This can be done through
  certificates or access lists.

Is there a particular way which this should be done, or is it expected to follow NACM, and associated NETCONF and RESTCONF?

** Nits
-- Section 3.  Typo. s/definied/defined/

-- Section 3. Typo. s/serveur/server/

-- Section 3.  Editorial.
OLD
  The YANG data model allows to select the compression or the
  fragmentation using the feature command.

NEW
The YANG data model allows the selection of compression or the fragmentation using the feature command.

-- Section 3.7. Typo. s/enconding/encoding/
2022-08-24
15 Roman Danyliw [Ballot Position Update] New position, Discuss, has been recorded for Roman Danyliw
2022-08-24
15 Zaheduzzaman Sarker [Ballot comment]
Thanks for working on the specification. I have found number of typos but those seems like well covered by Lars's comments.
2022-08-24
15 Zaheduzzaman Sarker [Ballot Position Update] New position, No Objection, has been recorded for Zaheduzzaman Sarker
2022-08-24
15 Alvaro Retana [Ballot Position Update] New position, No Objection, has been recorded for Alvaro Retana
2022-08-24
15 Paul Wouters
[Ballot discuss]
Probably an easy thing to fix,

I see an identity defined as "rcs-rfc8724". Using RFC numbers as names can
be confusing if such …
[Ballot discuss]
Probably an easy thing to fix,

I see an identity defined as "rcs-rfc8724". Using RFC numbers as names can
be confusing if such and RFC is obsoleted for another RFC. Couldn't this
entry be called "rcs-crc32" ?
2022-08-24
15 Paul Wouters [Ballot comment]
NITS:

- Section 1 [I-D.ietf-lpwan-architecture] is a broken reference

- Many sections contain [RFC8724] as a broken reference
2022-08-24
15 Paul Wouters [Ballot Position Update] New position, Discuss, has been recorded for Paul Wouters
2022-08-24
15 Lars Eggert
[Ballot comment]
# GEN AD review of draft-ietf-lpwan-schc-yang-data-model-15

CC @larseggert

Thanks to Meral Shirazipour for the General Area Review Team (Gen-ART) review
(https://mailarchive.ietf.org/arch/msg/gen-art/RVzFMuO5DCPzLz7tJnYk9J9NEPk). …
[Ballot comment]
# GEN AD review of draft-ietf-lpwan-schc-yang-data-model-15

CC @larseggert

Thanks to Meral Shirazipour for the General Area Review Team (Gen-ART) review
(https://mailarchive.ietf.org/arch/msg/gen-art/RVzFMuO5DCPzLz7tJnYk9J9NEPk).

## Comments

In general, the writing in this document is quite poor, making it often
difficult to immediately understand the intended technical content. I wish the
WG had spent some more efforts here before sending this forward for publication.

### Section 1, paragraph 4
```
    *  ...
```
Should this placeholder be removed?

## Nits

All comments below are about very minor potential issues that you may choose to
address in some way - or ignore - as you see fit. Some were flagged by
automated tools (via https://github.com/larseggert/ietf-reviewtool), so there
will likely be some false positives. There is no need to let me know what you
did with these suggestions.

### Typos

#### Section 3, paragraph 2
```
-    UDP[RFC0768], CoAP [RFC7252] including options definied for no
-                                                        -
```

#### Section 3, paragraph 2
```
-    serveur response [RFC7967] and OSCORE [RFC8613].  For the latter
-        -
```

#### Section 3.7, paragraph 4
```
-    same enconding.
-            -
```

#### Section 3.10.1, paragraph 2
```
-    *  No Ack: this mode is unidirectionnal, no acknowledgment is sent
-                                        -
```

#### Section 3.10.5, paragraph 4
```
-    recommends a duration of 12 hours.  In fact, the value range sould be
+    recommends a duration of 12 hours.  In fact, the value range should be
+                                                                  +
```

#### Section 3.10.5, paragraph 6
```
-      1.0 sec and 19 hours covering [RFC9011] recommandation.
-                                                    ^
+      1.0 sec and 19 hours covering [RFC9011] recommendation.
+                                                    ^
```

#### Section 4, paragraph 1
```
-    A rule is idenfied by a unique rule identifier (rule ID) comprising
+    A rule is identified by a unique rule identifier (rule ID) comprising
+                  ++
```

#### Section 4, paragraph 4
```
-      packet in extenso when no compression rule was found (see
+      packet in extension when no compression rule was found (see
+                      + +
```

Or what else is "in extenso" supposed to mean?

#### Section 4, paragraph 6
```
-    The YANG data model introduces repectively these three identities :
-                                  ------------                      -
```

#### Section 4, paragraph 7
```
-    *  nature-compresion
+    *  nature-compression
+                    +
```

#### Section 4.3, paragraph 123
```
-          Note that the smallest value is also the incrementation step,
-                                                            ^^ ^^^^^ ^
-          so the timer precision.
-          ---
+          Note that the smallest value is also the increment, i.e.,
+                                                            ^^ ^ ^
```

#### Section 4.3, paragraph 127
```
-            occurences.
+            occurrences.
+                  +
```

#### Section 4.3, paragraph 127
```
-            irrespective of its position of occurence in the
+            irrespective of its position of occurrence in the
+                                                  +
```

#### Section 4.3, paragraph 127
```
-            direction (bi directionnal, only uplink, or only
-                          ^        -
+            direction (bi-directional, only uplink, or only
+                          ^
```

#### Section 8, paragraph 5
```
-    The rule contains some sensible informations such as the application
-                                              ^
+    The rule contains some sensible information, such as the application
+                                              ^
```

### Grammar/style

#### "Table of Contents", paragraph 1
```
ed network. [RFC8724] provides a non formal representation of the rules used
                                ^^^^^^^^^^
```
This expression is usually spelled with a hyphen. (Also elsewhere.)

#### Section 3.5, paragraph 1
```
ression Action). The index allows to specify several values: * For Equal and
                                  ^^^^^^^^^^
```
Did you mean "specifying"? Or maybe you should add a pronoun? In active voice,
"allow" + "to" takes an object, usually a pronoun.

#### Section 3.10.2, paragraph 3
```
can include a tile. The parameters defines the behavior: * all-1-data-no: th
                                  ^^^^^^^
```
You should probably use "define".

#### Section 3.10.4, paragraph 5
```
mer is disabled. [RFC8724] do not specified any range for these timers. [RFC9
                                  ^^^^^^^^^
```
After the auxiliary verb "do", use the base form of a verb. Did you mean
"specify"?

#### Section 3.10.5, paragraph 1
```
C fragmentation protocol specifies the the number of attempts before aborting
                                  ^^^^^^^
```
Possible typo: you repeated a word.

#### Section 3.10.5, paragraph 4
```
ket-size: defines the maximum size of a uncompressed datagram. By default, t
                                      ^
```
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

#### Section 4.3, paragraph 2
```
C 8724 describes compression rules in a abstract way through a table. |-----
                                      ^
```
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

#### Section 4.3, paragraph 13
```
ation address prefix of RFC 8200. Depending if it is respectively an uplink o
                                  ^^^^^^^^^
```
The verb "depend" requires the preposition "on" (or "upon"). (Also elsewhere.)

#### Section 4.3, paragraph 89
```
t, index is 0. Otherwise, index is the the order in the matching list, starti
                                  ^^^^^^^
```
Possible typo: you repeated a word.

#### Section 4.3, paragraph 89
```
description "Target Value content as a untyped binary value."; } reference "
                                      ^
```
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

#### Section 4.3, paragraph 96
```
tor, indicate if this field must be consider for rule selection or ignored ba
                                ^^^^^^^^^^^
```
There may an error in the verb form "be consider".

#### Section 4.3, paragraph 96
```
gnored based on the direction (bi-directional, only uplink, or only downlink
                              ^^^^^^^^^^^^^^
```
This word is normally spelled as one.

#### Section 4.3, paragraph 127
```
siderations This document registers one URIs and one YANG modules. 7.1. URI R
                                    ^^^^^^^^
```
Don't use the number "one" with plural words. Did you mean "one URI", "a URI",
or simply "URIs"?

## Notes

This review is in the ["IETF Comments" Markdown format][ICMF], You can use the
[`ietf-comments` tool][ICT] to automatically convert this review into
individual GitHub issues. Review generated by the [`ietf-reviewtool`][IRT].

[ICMF]: https://github.com/mnot/ietf-comments/blob/main/format.md
[ICT]: https://github.com/mnot/ietf-comments
[IRT]: https://github.com/larseggert/ietf-reviewtool
2022-08-24
15 Lars Eggert [Ballot Position Update] New position, No Objection, has been recorded for Lars Eggert
2022-08-22
15 Erik Kline
[Ballot comment]
# Internet AD comments for {draft-ietf-lpwan-schc-yang-data-model-15}
CC @ekline

## Comments

### S3.5

* Should the "position of the field" be relative …
[Ballot comment]
# Internet AD comments for {draft-ietf-lpwan-schc-yang-data-model-15}
CC @ekline

## Comments

### S3.5

* Should the "position of the field" be relative to something?

### S5

* The mailto: URI is slightly truncated.  It seems like it should be
  "mailto:lp-wan@ietf.org" rather than "mailto:p-wan@ietf.org".

* "Field Length : Either a positive integer of a function." doesn't quite
  parse easily for me.

  Perhaps: "Field Length : Either a positive integer or a CDA function."?

## Nits

### S3

* s/definied/defined/

* s/serveur/server/

### S3.4

* s/giving in bits/given in bits/

### S3.7

* s/contains a text/contains text/?

### S3.10.2

* s/field in optional/field is optional/

### S3.10.5

* s/sould be/should be/
2022-08-22
15 Erik Kline [Ballot Position Update] New position, No Objection, has been recorded for Erik Kline
2022-08-22
15 Amanda Baber IANA Review state changed to IANA OK - Actions Needed from Version Changed - Review Needed
2022-08-12
15 Qin Wu Request for Telechat review by IOTDIR Completed: Almost Ready. Reviewer: Qin Wu. Sent review to list.
2022-08-08
15 Samita Chakrabarti Request for Telechat review by IOTDIR is assigned to Qin Wu
2022-08-08
15 Samita Chakrabarti Request for Telechat review by IOTDIR is assigned to Qin Wu
2022-08-08
15 Éric Vyncke Requested Telechat review by IOTDIR
2022-08-08
15 Éric Vyncke Placed on agenda for telechat - 2022-08-25
2022-08-08
15 Éric Vyncke Ballot writeup was changed
2022-08-08
15 Éric Vyncke Ballot has been issued
2022-08-08
15 Éric Vyncke [Ballot Position Update] New position, Yes, has been recorded for Éric Vyncke
2022-08-08
15 Éric Vyncke Created "Approve" ballot
2022-08-08
15 Éric Vyncke IESG state changed to IESG Evaluation from Waiting for Writeup
2022-08-08
15 Éric Vyncke Ballot writeup was changed
2022-08-03
15 Donald Eastlake Request for Last Call review by INTDIR Completed: Almost Ready. Reviewer: Donald Eastlake.
2022-08-02
15 (System) IESG state changed to Waiting for Writeup from In Last Call
2022-08-01
15 (System) IANA Review state changed to Version Changed - Review Needed from IANA OK - Actions Needed
2022-08-01
15 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-15.txt
2022-08-01
15 Laurent Toutain New version accepted (logged-in submitter: Laurent Toutain)
2022-08-01
15 Laurent Toutain Uploaded new revision
2022-08-01
14 Carl Wallace Request for Last Call review by SECDIR Completed: Ready. Reviewer: Carl Wallace. Sent review to list.
2022-07-27
14 Meral Shirazipour Request for Last Call review by GENART Completed: Ready with Nits. Reviewer: Meral Shirazipour. Sent review to list.
2022-07-18
14 Sabrina Tanamal IANA Experts State changed to Expert Reviews OK from Reviews assigned
2022-07-18
14 Sabrina Tanamal IANA Review state changed to IANA OK - Actions Needed from IANA - Not OK
2022-07-16
14 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Joel Jaeggli
2022-07-16
14 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Joel Jaeggli
2022-07-15
14 Michelle Thangtamsatid IANA Experts State changed to Reviews assigned
2022-07-15
14 Joe Clarke Request for Last Call review by YANGDOCTORS Completed: Not Ready. Reviewer: Joe Clarke. Sent review to list.
2022-07-15
14 Tero Kivinen Request for Last Call review by SECDIR is assigned to Carl Wallace
2022-07-15
14 Tero Kivinen Request for Last Call review by SECDIR is assigned to Carl Wallace
2022-07-15
14 (System) IANA Review state changed to IANA - Not OK from IANA - Review Needed
2022-07-15
14 Michelle Thangtamsatid
(Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs:

The IANA Functions Operator has completed its review of draft-ietf-lpwan-schc-yang-data-model-14. If any part of this review is inaccurate, please let …
(Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs:

The IANA Functions Operator has completed its review of draft-ietf-lpwan-schc-yang-data-model-14. If any part of this review is inaccurate, please let us know.

The IANA Services Operator understands that, upon approval of this document, there are two actions which we must complete.

NOTE: There appears to be a typo in Section 7.1 where \u201cfour\u201d URIs are being requested, but there\u2019s only one listed.

First, in the ns registry on the IETF XML Registry page located at:

https://www.iana.org/assignments/xml-registry/

a new namespace will be registered as follows:

ID: yang:ietf-schc
URI: urn:ietf:params:xml:ns:yang:ietf-schc
Filename: [ TBD-at-Registration ]
Reference: [ RFC-to-be ]

As this document requests registrations in a Specification Required (see RFC 8126) registry, we will initiate the required Expert Review via a separate request. Expert review will need to be completed before your document can be approved for publication as an RFC.

Second, in the YANG Module Names registry on the YANG Parameters registry page located at:

https://www.iana.org/assignments/yang-parameters/

a new YANG module will be registered as follows:

Name: ietf-schc
File: [ TBD-at-Registration ]
Maintained by IANA? N
Namespace: urn:ietf:params:xml:ns:yang:ietf-schc
Prefix: schc
Module:
Reference: [ RFC-to-be ]

While the YANG module name will be registered after the IESG approves the document, the YANG module file will be posted after the RFC Editor notifies us that the document has been published.

The IANA Services Operator understands that these are the only actions required to be completed upon approval of this document.

Note:  The actions requested in this document will not be completed until the document has been approved for publication as an RFC. This message is meant only to confirm the list of actions that will be performed.

For definitions of IANA review states, please see:

https://datatracker.ietf.org/help/state/draft/iana-review

Thank you,

Michelle Thangtamsatid
IANA Services Specialist
2022-07-14
14 Jean Mahoney Request for Last Call review by GENART is assigned to Meral Shirazipour
2022-07-14
14 Jean Mahoney Request for Last Call review by GENART is assigned to Meral Shirazipour
2022-07-14
14 Mehmet Ersue Request for Last Call review by YANGDOCTORS is assigned to Joe Clarke
2022-07-14
14 Mehmet Ersue Request for Last Call review by YANGDOCTORS is assigned to Joe Clarke
2022-07-13
14 Acee Lindem Assignment of request for Last Call review by YANGDOCTORS to Acee Lindem was rejected
2022-07-13
14 Mehmet Ersue Request for Last Call review by YANGDOCTORS is assigned to Acee Lindem
2022-07-13
14 Mehmet Ersue Request for Last Call review by YANGDOCTORS is assigned to Acee Lindem
2022-07-13
14 Carlos Jesús Bernardos Request for Last Call review by INTDIR is assigned to Donald Eastlake
2022-07-13
14 Carlos Jesús Bernardos Request for Last Call review by INTDIR is assigned to Donald Eastlake
2022-07-13
14 Ralf Weber Assignment of request for Last Call review by INTDIR to Ralf Weber was rejected
2022-07-13
14 Carlos Jesús Bernardos Request for Last Call review by INTDIR is assigned to Ralf Weber
2022-07-13
14 Carlos Jesús Bernardos Request for Last Call review by INTDIR is assigned to Ralf Weber
2022-07-12
14 Éric Vyncke Requested Last Call review by INTDIR
2022-07-12
14 Éric Vyncke Requested Last Call review by YANGDOCTORS
2022-07-12
14 Pascal Thubert
# Document Shepherd Writeup for draft-ietf-lpwan-schc-yang-data-model-13


Technical Summary:


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and …
# Document Shepherd Writeup for draft-ietf-lpwan-schc-yang-data-model-13


Technical Summary:


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and fragmentation rules for RFC 8724 and RFC 8824


Working Group Summary:

This document was discussed at a number of LPWAN interim meetings. There was never any form of opposition against it. The way to allow extensions in particular with the upcoming "compound ack" spec was studied.


Personal:
Document Shepherd:  Pascal Thubert
Responsible Area Director: Eric Vyncke


Template:
*This version is dated 8 April 2022.*



## 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's more of the former. LPWAN has a core of 6-8 people that are very active and implement open source code as well as proprietary stacks for LoRa and SigFox.

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

  There was a global approval; One slight issue was heavily discussed: the size of a timer in seconds, 32 vs. 64 bits. The RFC does not constrain the duration of the timer. On paper, all the proposed representations (string and cbor) do not need to know so it should not matter. But the implementer may depend on the YANG model to type his variables. The proposal was made to replace the 64 bits by a mantissa (2 bytes) and a 1 byte exponent of 2. A default value for the exponent (13, with the base unit in microseconds) can be omitted in the air, allowing 2 octets to indicate from 1s to 18H.

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)?

    There is at least a partial implementations of the model in openSCHC, see (*) at the end of this writeup


### Additional Reviews

5. Does this document need review from other IETF working groups or external
  organizations? Have those reviews occurred?

  No such thing

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 was reviewed by a YANG doctor (https://datatracker.ietf.org/doc/review-ietf-lpwan-schc-yang-data-model-04-yangdoctors-early-moberg-2021-04-13/). It was edited by a lead SCHC author and reviewed by the SCHC editor.

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]?

  Yes, the document was validated through IETF YANG tools including yangson, see (*) at the end of this writeup


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.

  There's only YANG

### 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?

  Certainly.

10. Several IETF Areas have assembled [lists of common issues that their
    reviewers encounter][6]. Do any such issues remain that would merit specific
    attention from subsequent reviews?

    I could not find one relevant here

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


Proposed Standard, which makes sense for such content which has MUST statements that are necessary for interop. Datatracker state attributes are correct.

12. Has the interested community confirmed that any and all appropriate IPR
    disclosures required by [BCP 78][7] and [BCP 79][8] have been filed? If not,
    explain why. If yes, summarize any discussion and conclusion regarding the
    intellectual property rights (IPR) disclosures, including links to relevant
    emails.

    Yes and there' s no IPR against this document.

13. Has each Author or Contributor confirmed their willingness to be listed as
    such? If the number of Authors/Editors on the front page is greater than 5,
    please provide a justification.

    All good on that front

14. Identify any remaining I-D nits in this document. (See [the idnits tool][9]
    and the checkbox items found in Guidelines to Authors of Internet-Drafts).
    Simply running the idnits tool is not enough; please review the entire
    guidelines document.

    All good now.

15. Should any informative references be normative or vice-versa?

    All good; there could have been a ref to YANG. Also I suggested to move the LoRa reference to informational

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

    none

17. Are there any normative downward references (see [RFC 3967][10],
    [BCP 97][11])? If so, list them.

    There is a downref to RFC 7967.

18. Are there normative references to documents that are not ready for
    advancement or are otherwise in an unclear state? If they exist, what is the
    plan for their completion?

    none

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][12]).

No IANA, this specification is purely for the YANG model, no new functionality or format.

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.

    none

[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://trac.ietf.org/trac/ops/wiki/yang-review-tools
[5]: https://www.rfc-editor.org/rfc/rfc8342.html
[6]: https://trac.ietf.org/trac/iesg/wiki/ExpertTopics
[7]: https://www.rfc-editor.org/info/bcp78
[8]: https://www.rfc-editor.org/info/bcp79
[9]: https://www.ietf.org/tools/idnits/
[10]: https://www.rfc-editor.org/rfc/rfc3967.html
[11]: https://www.rfc-editor.org/info/bcp97
[12]: https://www.rfc-editor.org/rfc/rfc8126.html


(*) Openschc is implementing the conversion between the local rule representation and the representation conform to the DM in JSON and CBOR (following -08 draft).

The code is available on github(on the scapy branch) :
https://github.com/openschc/openschc/blob/scapy/examples/scapy/data_model.py
For instance the openschc simples rule for comp and frag :

/-------------------------\
|Rule 6/3            110  |
|---------------+---+--+--+------------------------------+-------------+----------------\
|IPV6.VER      |  4| 1|BI|                            6|EQUAL        |NOT-SENT        |
|IPV6.TC        |  8| 1|BI|                            0|EQUAL        |NOT-SENT        |
|IPV6.FL        | 20| 1|BI|                            0|IGNORE      |NOT-SENT        |
|IPV6.LEN      | 16| 1|BI|------------------------------|IGNORE      |COMPUTE-LENGTH  |
|IPV6.NXT      |  8| 1|BI|                            58|EQUAL        |NOT-SENT        |
|IPV6.HOP_LMT  |  8| 1|BI|                          255|IGNORE      |NOT-SENT        |
|IPV6.DEV_PREFIX| 64| 1|BI|              200104701f2101d2|EQUAL        |NOT-SENT        |
|IPV6.DEV_IID  | 64| 1|BI|              0000000000000001|EQUAL        |NOT-SENT        |
|IPV6.APP_PREFIX| 64| 1|BI|------------------------------|IGNORE      |VALUE-SENT      |
|IPV6.APP_IID  | 64| 1|BI|------------------------------|IGNORE      |VALUE-SENT      |
\---------------+---+--+--+------------------------------+-------------+----------------/
/-------------------------\
|Rule 12/11    00001100  |
!=========================+=============================================================\
!^ Fragmentation mode : NoAck    header dtag 2 Window  0 FCN  3                    UP ^!
!^ No Tile size specified                                                              ^!
!^ RCS Algorithm: RCS_RFC8724                                                          ^!
\=======================================================================================/

or

{
    "DeviceID" : "udp:90.27.174.128:8888",
    "SoR" : [
{
    "RuleID": 6,
    "RuleIDLength": 3,
    "Compression": [
{"FID": "IPV6.VER", "TV": 6, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.TC",  "TV": 0, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.FL",  "TV": 0, "MO": "ignore","CDA": "not-sent"},
{"FID": "IPV6.LEN",          "MO": "ignore","CDA": "compute-length"},
{"FID": "IPV6.NXT", "TV": 58, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.HOP_LMT", "TV" : 255,"MO": "ignore","CDA": "not-sent"},
{"FID": "IPV6.DEV_PREFIX","TV": "2001:470:1F21:1D2::/64",
                                              "MO": "equal","CDA": "not-sent"},
{"FID": "IPV6.DEV_IID", "TV": "::1","MO": "equal","CDA": "not-sent"},
{"FID": "IPV6.APP_PREFIX",        "MO": "ignore","CDA": "value-sent"},
{"FID": "IPV6.APP_IID",        "MO": "ignore","CDA": "value-sent"}
    ]
},{
"RuleID" : 12,
"RuleIDLength" : 11,
"Fragmentation" : {
"FRMode": "NoAck",
"FRDirection": "UP"
}
}
    ]
  }


is converted in JSON as

{'ietf-schc:schc': {'rule': [{'entry': [{'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-version',
                                        'field-length': '4',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AAY='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-trafficclass',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AA=='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-flowlabel',
                                        'field-length': '20',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore',
                                        'target-value': [{'position': 0,
                                                          'value': b'AA=='}]},
                                        {'comp-decomp-action': 'cda-compute-length',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-payloadlength',
                                        'field-length': '16',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-nextheader',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'ADo='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-hoplimit',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore',
                                        'target-value': [{'position': 0,
                                                          'value': b'AP8='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-devprefix',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'IAEEcB8h'
                                                                    b'AdI='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-deviid',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AAAAAAAA'
                                                                    b'AAE='}]},
                                        {'comp-decomp-action': 'cda-value-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-appprefix',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'},
                                        {'comp-decomp-action': 'cda-value-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-appiid',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'}],
                              'rule-id-length': 3,
                              'rule-id-value': 6},
                            {'direction': 'di-up',
                              'dtag-size': 2,
                              'fcn-size': 3,
                              'fragmentation-mode': 'fragmentation-mode-no-ack',
                              'rcs-algorithm': 'rcs-RFC8724',
                              'rule-id-length': 11,
                              'rule-id-value': 12}]}}

This representation has been validated with yangson module.

The CORECONF representation is, supposing that the SID starts at 10000000.

b'a11a000f429aa10182a3048aa7061a000f428407040801051a000f4253091a000f4292011a000f42500d81a20100024106a7061a000f428107080801051a000f4253091a000f4292011a000f42500d81a201000240a7061a000f427d07140801051a000f4253091a000f4293011a000f42500d81a201000240a6061a000f428007100801051a000f4253091a000f4293011a000f424ca7061a000f427f07080801051a000f4253091a000f4292011a000f42500d81a2010002413aa7061a000f427e07080801051a000f4253091a000f4293011a000f42500d81a201000241ffa7061a000f427c0718400801051a000f4253091a000f4292011a000f42500d81a201000248200104701f2101d2a7061a000f427b0718400801051a000f4253091a000f4292011a000f42500d81a2010002480000000000000001a6061a000f42790718400801051a000f4253091a000f4293011a000f4251a6061a000f42780718400801051a000f4253091a000f4293011a000f4251181e06181d03a7181e0c181d0b021a000f4255181b1a000f429603021403151a000f4290'

or:

{1000090: {1:
        [ {4: [{6: 1000068, 7: 4, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'06'}]},
              {6: 1000065, 7: 8, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h''}]},
              {6: 1000061, 7: 20, 8: 1, 5: 1000019, 9: 1000083, 1: 1000016, 13: [{1: 0, 2: h''}]},
              {6: 1000064, 7: 16, 8: 1, 5: 1000019, 9: 1000083, 1: 1000012},
              {6: 1000063, 7: 8, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'3A'}]},
              {6: 1000062, 7: 8, 8: 1, 5: 1000019, 9: 1000083, 1: 1000016, 13: [{1: 0, 2: h'FF'}]},
              {6: 1000060, 7: 64, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'200104701F2101D2'}]},
              {6: 1000059, 7: 64, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'0000000000000001'}]},
              {6: 1000057, 7: 64, 8: 1, 5: 1000019, 9: 1000083, 1: 1000017},
              {6: 1000056, 7: 64, 8: 1, 5: 1000019, 9: 1000083, 1: 1000017}],
          30: 6,
          29: 3},
        {30: 12, 29: 11, 2: 1000021, 27: 1000086, 3: 2, 20: 3, 21: 1000080}
        ]
    }
}




2022-07-12
14 Amy Vezza IANA Review state changed to IANA - Review Needed
2022-07-12
14 Amy Vezza
The following Last Call announcement was sent out (ends 2022-08-02):

From: The IESG
To: IETF-Announce
CC: draft-ietf-lpwan-schc-yang-data-model@ietf.org, evyncke@cisco.com, lp-wan@ietf.org, lpwan-chairs@ietf.org, pascal.thubert@gmail.com …
The following Last Call announcement was sent out (ends 2022-08-02):

From: The IESG
To: IETF-Announce
CC: draft-ietf-lpwan-schc-yang-data-model@ietf.org, evyncke@cisco.com, lp-wan@ietf.org, lpwan-chairs@ietf.org, pascal.thubert@gmail.com
Reply-To: last-call@ietf.org
Sender:
Subject: Last Call:  (Data Model for Static Context Header Compression (SCHC)) to Proposed Standard


The IESG has received a request from the IPv6 over Low Power Wide-Area
Networks WG (lpwan) to consider the following document: - 'Data Model for
Static Context Header Compression (SCHC)'
  as Proposed Standard

The IESG plans to make a decision in the next few weeks, and solicits final
comments on this action. Please send substantive comments to the
last-call@ietf.org mailing lists by 2022-07-26. Exceptionally, comments may
be sent to iesg@ietf.org instead. In either case, please retain the beginning
of the Subject line to allow automated sorting.

Abstract


  This document describes a YANG data model for the SCHC (Static
  Context Header Compression) compression and fragmentation rules.




The file can be obtained via
https://datatracker.ietf.org/doc/draft-ietf-lpwan-schc-yang-data-model/



No IPR declarations have been submitted directly on this I-D.


The document contains these normative downward references.
See RFC 3967 for additional information:
    rfc7967: Constrained Application Protocol (CoAP) Option for No Server Response (Informational - Independent Submission)



2022-07-12
14 Amy Vezza IESG state changed to In Last Call from Last Call Requested
2022-07-12
14 Éric Vyncke Last call was requested
2022-07-12
14 Éric Vyncke Last call announcement was generated
2022-07-12
14 Éric Vyncke Ballot approval text was generated
2022-07-12
14 Éric Vyncke Ballot writeup was generated
2022-07-12
14 Éric Vyncke IESG state changed to Last Call Requested from AD Evaluation::AD Followup
2022-07-12
14 Pascal Thubert
# Document Shepherd Writeup for draft-ietf-lpwan-schc-yang-data-model-13


Technical Summary:


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and …
# Document Shepherd Writeup for draft-ietf-lpwan-schc-yang-data-model-13


Technical Summary:


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and fragmentation rules for RFC 8724 and RFC 8824


Working Group Summary:

This document was discussed at a number of LPWAN interim meetings. There was never any form of opposition against it. The way to allow extensions in particular with the upcoming "compound ack" spec was studied.


Personal:
Document Shepherd:  Pascal Thubert
Responsible Area Director: Eric Vyncke


Template:
*This version is dated 8 April 2022.*



## 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's more of the former. LPWAN has a core of 6-8 people that are very active and implement open source code as well as proprietary stacks for LoRa and SigFox.

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

  There was a global approval; One slight issue was heavily discussed: the size of a timer in seconds, 32 vs. 64 bits. The RFC does not constrain the duration of the timer. On paper, all the proposed representations (string and cbor) do not need to know so it should not matter. But the implementer may depend on the YANG model to type his variables. The proposal was made to replace the 64 bits by a mantissa (2 bytes) and a 1 byte exponent of 2. A default value for the exponent (13, with the base unit in microseconds) can be omitted in the air, allowing 2 octets to indicate from 1s to 18H.

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)?

    There is at least a partial implementations of the model in openSCHC, see (*) at the end of this writeup


### Additional Reviews

5. Does this document need review from other IETF working groups or external
  organizations? Have those reviews occurred?

  No such thing

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 was reviewed by a YANG doctor (https://datatracker.ietf.org/doc/review-ietf-lpwan-schc-yang-data-model-04-yangdoctors-early-moberg-2021-04-13/). It was edited by a lead SCHC author and reviewed by the SCHC editor.

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]?

  Yes, the document was validated through IETF YANG tools including yangson, see (*) at the end of this writeup


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.

  There's only YANG

### 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?

  Certainly.

10. Several IETF Areas have assembled [lists of common issues that their
    reviewers encounter][6]. Do any such issues remain that would merit specific
    attention from subsequent reviews?

    I could not find one relevant here

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


Proposed Standard, which makes sense for such content. Datatracker state attributes are correct.

12. Has the interested community confirmed that any and all appropriate IPR
    disclosures required by [BCP 78][7] and [BCP 79][8] have been filed? If not,
    explain why. If yes, summarize any discussion and conclusion regarding the
    intellectual property rights (IPR) disclosures, including links to relevant
    emails.

    Yes and there' s no IPR against this document.

13. Has each Author or Contributor confirmed their willingness to be listed as
    such? If the number of Authors/Editors on the front page is greater than 5,
    please provide a justification.

    All good on that front

14. Identify any remaining I-D nits in this document. (See [the idnits tool][9]
    and the checkbox items found in Guidelines to Authors of Internet-Drafts).
    Simply running the idnits tool is not enough; please review the entire
    guidelines document.

    All good now.

15. Should any informative references be normative or vice-versa?

    All good; there could have been a ref to YANG. Also I suggested to move the LoRa reference to informational

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

    none

17. Are there any normative downward references (see [RFC 3967][10],
    [BCP 97][11])? If so, list them.

    There is a downref to RFC 7967.

18. Are there normative references to documents that are not ready for
    advancement or are otherwise in an unclear state? If they exist, what is the
    plan for their completion?

    none

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][12]).

No IANA, this specification is purely for the YANG model, no new functionality or format.

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.

    none

[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://trac.ietf.org/trac/ops/wiki/yang-review-tools
[5]: https://www.rfc-editor.org/rfc/rfc8342.html
[6]: https://trac.ietf.org/trac/iesg/wiki/ExpertTopics
[7]: https://www.rfc-editor.org/info/bcp78
[8]: https://www.rfc-editor.org/info/bcp79
[9]: https://www.ietf.org/tools/idnits/
[10]: https://www.rfc-editor.org/rfc/rfc3967.html
[11]: https://www.rfc-editor.org/info/bcp97
[12]: https://www.rfc-editor.org/rfc/rfc8126.html


(*) Openschc is implementing the conversion between the local rule representation and the representation conform to the DM in JSON and CBOR (following -08 draft).

The code is available on github(on the scapy branch) :
https://github.com/openschc/openschc/blob/scapy/examples/scapy/data_model.py
For instance the openschc simples rule for comp and frag :

/-------------------------\
|Rule 6/3            110  |
|---------------+---+--+--+------------------------------+-------------+----------------\
|IPV6.VER      |  4| 1|BI|                            6|EQUAL        |NOT-SENT        |
|IPV6.TC        |  8| 1|BI|                            0|EQUAL        |NOT-SENT        |
|IPV6.FL        | 20| 1|BI|                            0|IGNORE      |NOT-SENT        |
|IPV6.LEN      | 16| 1|BI|------------------------------|IGNORE      |COMPUTE-LENGTH  |
|IPV6.NXT      |  8| 1|BI|                            58|EQUAL        |NOT-SENT        |
|IPV6.HOP_LMT  |  8| 1|BI|                          255|IGNORE      |NOT-SENT        |
|IPV6.DEV_PREFIX| 64| 1|BI|              200104701f2101d2|EQUAL        |NOT-SENT        |
|IPV6.DEV_IID  | 64| 1|BI|              0000000000000001|EQUAL        |NOT-SENT        |
|IPV6.APP_PREFIX| 64| 1|BI|------------------------------|IGNORE      |VALUE-SENT      |
|IPV6.APP_IID  | 64| 1|BI|------------------------------|IGNORE      |VALUE-SENT      |
\---------------+---+--+--+------------------------------+-------------+----------------/
/-------------------------\
|Rule 12/11    00001100  |
!=========================+=============================================================\
!^ Fragmentation mode : NoAck    header dtag 2 Window  0 FCN  3                    UP ^!
!^ No Tile size specified                                                              ^!
!^ RCS Algorithm: RCS_RFC8724                                                          ^!
\=======================================================================================/

or

{
    "DeviceID" : "udp:90.27.174.128:8888",
    "SoR" : [
{
    "RuleID": 6,
    "RuleIDLength": 3,
    "Compression": [
{"FID": "IPV6.VER", "TV": 6, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.TC",  "TV": 0, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.FL",  "TV": 0, "MO": "ignore","CDA": "not-sent"},
{"FID": "IPV6.LEN",          "MO": "ignore","CDA": "compute-length"},
{"FID": "IPV6.NXT", "TV": 58, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.HOP_LMT", "TV" : 255,"MO": "ignore","CDA": "not-sent"},
{"FID": "IPV6.DEV_PREFIX","TV": "2001:470:1F21:1D2::/64",
                                              "MO": "equal","CDA": "not-sent"},
{"FID": "IPV6.DEV_IID", "TV": "::1","MO": "equal","CDA": "not-sent"},
{"FID": "IPV6.APP_PREFIX",        "MO": "ignore","CDA": "value-sent"},
{"FID": "IPV6.APP_IID",        "MO": "ignore","CDA": "value-sent"}
    ]
},{
"RuleID" : 12,
"RuleIDLength" : 11,
"Fragmentation" : {
"FRMode": "NoAck",
"FRDirection": "UP"
}
}
    ]
  }


is converted in JSON as

{'ietf-schc:schc': {'rule': [{'entry': [{'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-version',
                                        'field-length': '4',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AAY='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-trafficclass',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AA=='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-flowlabel',
                                        'field-length': '20',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore',
                                        'target-value': [{'position': 0,
                                                          'value': b'AA=='}]},
                                        {'comp-decomp-action': 'cda-compute-length',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-payloadlength',
                                        'field-length': '16',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-nextheader',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'ADo='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-hoplimit',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore',
                                        'target-value': [{'position': 0,
                                                          'value': b'AP8='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-devprefix',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'IAEEcB8h'
                                                                    b'AdI='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-deviid',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AAAAAAAA'
                                                                    b'AAE='}]},
                                        {'comp-decomp-action': 'cda-value-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-appprefix',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'},
                                        {'comp-decomp-action': 'cda-value-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-appiid',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'}],
                              'rule-id-length': 3,
                              'rule-id-value': 6},
                            {'direction': 'di-up',
                              'dtag-size': 2,
                              'fcn-size': 3,
                              'fragmentation-mode': 'fragmentation-mode-no-ack',
                              'rcs-algorithm': 'rcs-RFC8724',
                              'rule-id-length': 11,
                              'rule-id-value': 12}]}}

This representation has been validated with yangson module.

The CORECONF representation is, supposing that the SID starts at 10000000.

b'a11a000f429aa10182a3048aa7061a000f428407040801051a000f4253091a000f4292011a000f42500d81a20100024106a7061a000f428107080801051a000f4253091a000f4292011a000f42500d81a201000240a7061a000f427d07140801051a000f4253091a000f4293011a000f42500d81a201000240a6061a000f428007100801051a000f4253091a000f4293011a000f424ca7061a000f427f07080801051a000f4253091a000f4292011a000f42500d81a2010002413aa7061a000f427e07080801051a000f4253091a000f4293011a000f42500d81a201000241ffa7061a000f427c0718400801051a000f4253091a000f4292011a000f42500d81a201000248200104701f2101d2a7061a000f427b0718400801051a000f4253091a000f4292011a000f42500d81a2010002480000000000000001a6061a000f42790718400801051a000f4253091a000f4293011a000f4251a6061a000f42780718400801051a000f4253091a000f4293011a000f4251181e06181d03a7181e0c181d0b021a000f4255181b1a000f429603021403151a000f4290'

or:

{1000090: {1:
        [ {4: [{6: 1000068, 7: 4, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'06'}]},
              {6: 1000065, 7: 8, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h''}]},
              {6: 1000061, 7: 20, 8: 1, 5: 1000019, 9: 1000083, 1: 1000016, 13: [{1: 0, 2: h''}]},
              {6: 1000064, 7: 16, 8: 1, 5: 1000019, 9: 1000083, 1: 1000012},
              {6: 1000063, 7: 8, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'3A'}]},
              {6: 1000062, 7: 8, 8: 1, 5: 1000019, 9: 1000083, 1: 1000016, 13: [{1: 0, 2: h'FF'}]},
              {6: 1000060, 7: 64, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'200104701F2101D2'}]},
              {6: 1000059, 7: 64, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'0000000000000001'}]},
              {6: 1000057, 7: 64, 8: 1, 5: 1000019, 9: 1000083, 1: 1000017},
              {6: 1000056, 7: 64, 8: 1, 5: 1000019, 9: 1000083, 1: 1000017}],
          30: 6,
          29: 3},
        {30: 12, 29: 11, 2: 1000021, 27: 1000086, 3: 2, 20: 3, 21: 1000080}
        ]
    }
}




2022-07-11
14 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-14.txt
2022-07-11
14 Laurent Toutain New version accepted (logged-in submitter: Laurent Toutain)
2022-07-11
14 Laurent Toutain Uploaded new revision
2022-07-11
13 Pascal Thubert
# Document Shepherd Writeup for draft-ietf-lpwan-schc-yang-data-model-13


Technical Summary:


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and …
# Document Shepherd Writeup for draft-ietf-lpwan-schc-yang-data-model-13


Technical Summary:


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and fragmentation rules for RFC 8724 and RFC 8824


Working Group Summary:

This document was discussed at a number of LPWAN interim meetings. There was never any form of opposition against it. The way to allow extensions in particular with the upcoming "compound ack" spec was studied.


Personal:
Document Shepherd:  Pascal Thubert
Responsible Area Director: Eric Vyncke


Template:
*This version is dated 8 April 2022.*



## 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's more of the former. LPWAN has a core of 6-8 people that are very active and implement open source code as well as proprietary stacks for LoRa and SigFox.

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

  There was a global approval; One slight issue was heavily discussed: the size of a timer in seconds, 32 vs. 64 bits. The RFC does not constrain the duration of the timer. On paper, all the proposed representations (string and cbor) do not need to know so it should not matter. But the implementer may depend on the YANG model to type his variables. The proposal was made to replace the 64 bits by a mantissa (2 bytes) and a 1 byte exponent of 2. A default value for the exponent (13, with the base unit in microseconds) can be omitted in the air, allowing 2 octets to indicate from 1s to 18H.

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)?

    There is at least a partial implementations of the model in openSCHC, see (*) at the end of this writeup


### Additional Reviews

5. Does this document need review from other IETF working groups or external
  organizations? Have those reviews occurred?

  No such thing

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 was reviewed by a YANG doctor (https://datatracker.ietf.org/doc/review-ietf-lpwan-schc-yang-data-model-04-yangdoctors-early-moberg-2021-04-13/). It was edited by a lead SCHC author and reviewed by the SCHC editor.

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]?

  Yes, the document was validated through IETF YANG tools including yangson, see (*) at the end of this writeup


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.

  There's only YANG

### 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?

  Certainly.

10. Several IETF Areas have assembled [lists of common issues that their
    reviewers encounter][6]. Do any such issues remain that would merit specific
    attention from subsequent reviews?

    I could not find one relevant here

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


Proposed Standard, which makes sense for such content. Datatracker state attributes are correct.

12. Has the interested community confirmed that any and all appropriate IPR
    disclosures required by [BCP 78][7] and [BCP 79][8] have been filed? If not,
    explain why. If yes, summarize any discussion and conclusion regarding the
    intellectual property rights (IPR) disclosures, including links to relevant
    emails.

    Yes and there' s no IPR against this document.

13. Has each Author or Contributor confirmed their willingness to be listed as
    such? If the number of Authors/Editors on the front page is greater than 5,
    please provide a justification.

    All good on that front

14. Identify any remaining I-D nits in this document. (See [the idnits tool][9]
    and the checkbox items found in Guidelines to Authors of Internet-Drafts).
    Simply running the idnits tool is not enough; please review the entire
    guidelines document.

    All good now.

15. Should any informative references be normative or vice-versa?

    All good; there could have been a ref to YANG. Also I suggested to move the LoRa reference to informational

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

    none

17. Are there any normative downward references (see [RFC 3967][10],
    [BCP 97][11])? If so, list them.

    none

18. Are there normative references to documents that are not ready for
    advancement or are otherwise in an unclear state? If they exist, what is the
    plan for their completion?

    none

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][12]).

No IANA, this specification is purely for the YANG model, no new functionality or format.

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.

    none

[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://trac.ietf.org/trac/ops/wiki/yang-review-tools
[5]: https://www.rfc-editor.org/rfc/rfc8342.html
[6]: https://trac.ietf.org/trac/iesg/wiki/ExpertTopics
[7]: https://www.rfc-editor.org/info/bcp78
[8]: https://www.rfc-editor.org/info/bcp79
[9]: https://www.ietf.org/tools/idnits/
[10]: https://www.rfc-editor.org/rfc/rfc3967.html
[11]: https://www.rfc-editor.org/info/bcp97
[12]: https://www.rfc-editor.org/rfc/rfc8126.html


(*) Openschc is implementing the conversion between the local rule representation and the representation conform to the DM in JSON and CBOR (following -08 draft).

The code is available on github(on the scapy branch) :
https://github.com/openschc/openschc/blob/scapy/examples/scapy/data_model.py
For instance the openschc simples rule for comp and frag :

/-------------------------\
|Rule 6/3            110  |
|---------------+---+--+--+------------------------------+-------------+----------------\
|IPV6.VER      |  4| 1|BI|                            6|EQUAL        |NOT-SENT        |
|IPV6.TC        |  8| 1|BI|                            0|EQUAL        |NOT-SENT        |
|IPV6.FL        | 20| 1|BI|                            0|IGNORE      |NOT-SENT        |
|IPV6.LEN      | 16| 1|BI|------------------------------|IGNORE      |COMPUTE-LENGTH  |
|IPV6.NXT      |  8| 1|BI|                            58|EQUAL        |NOT-SENT        |
|IPV6.HOP_LMT  |  8| 1|BI|                          255|IGNORE      |NOT-SENT        |
|IPV6.DEV_PREFIX| 64| 1|BI|              200104701f2101d2|EQUAL        |NOT-SENT        |
|IPV6.DEV_IID  | 64| 1|BI|              0000000000000001|EQUAL        |NOT-SENT        |
|IPV6.APP_PREFIX| 64| 1|BI|------------------------------|IGNORE      |VALUE-SENT      |
|IPV6.APP_IID  | 64| 1|BI|------------------------------|IGNORE      |VALUE-SENT      |
\---------------+---+--+--+------------------------------+-------------+----------------/
/-------------------------\
|Rule 12/11    00001100  |
!=========================+=============================================================\
!^ Fragmentation mode : NoAck    header dtag 2 Window  0 FCN  3                    UP ^!
!^ No Tile size specified                                                              ^!
!^ RCS Algorithm: RCS_RFC8724                                                          ^!
\=======================================================================================/

or

{
    "DeviceID" : "udp:90.27.174.128:8888",
    "SoR" : [
{
    "RuleID": 6,
    "RuleIDLength": 3,
    "Compression": [
{"FID": "IPV6.VER", "TV": 6, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.TC",  "TV": 0, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.FL",  "TV": 0, "MO": "ignore","CDA": "not-sent"},
{"FID": "IPV6.LEN",          "MO": "ignore","CDA": "compute-length"},
{"FID": "IPV6.NXT", "TV": 58, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.HOP_LMT", "TV" : 255,"MO": "ignore","CDA": "not-sent"},
{"FID": "IPV6.DEV_PREFIX","TV": "2001:470:1F21:1D2::/64",
                                              "MO": "equal","CDA": "not-sent"},
{"FID": "IPV6.DEV_IID", "TV": "::1","MO": "equal","CDA": "not-sent"},
{"FID": "IPV6.APP_PREFIX",        "MO": "ignore","CDA": "value-sent"},
{"FID": "IPV6.APP_IID",        "MO": "ignore","CDA": "value-sent"}
    ]
},{
"RuleID" : 12,
"RuleIDLength" : 11,
"Fragmentation" : {
"FRMode": "NoAck",
"FRDirection": "UP"
}
}
    ]
  }


is converted in JSON as

{'ietf-schc:schc': {'rule': [{'entry': [{'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-version',
                                        'field-length': '4',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AAY='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-trafficclass',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AA=='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-flowlabel',
                                        'field-length': '20',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore',
                                        'target-value': [{'position': 0,
                                                          'value': b'AA=='}]},
                                        {'comp-decomp-action': 'cda-compute-length',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-payloadlength',
                                        'field-length': '16',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-nextheader',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'ADo='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-hoplimit',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore',
                                        'target-value': [{'position': 0,
                                                          'value': b'AP8='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-devprefix',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'IAEEcB8h'
                                                                    b'AdI='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-deviid',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AAAAAAAA'
                                                                    b'AAE='}]},
                                        {'comp-decomp-action': 'cda-value-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-appprefix',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'},
                                        {'comp-decomp-action': 'cda-value-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-appiid',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'}],
                              'rule-id-length': 3,
                              'rule-id-value': 6},
                            {'direction': 'di-up',
                              'dtag-size': 2,
                              'fcn-size': 3,
                              'fragmentation-mode': 'fragmentation-mode-no-ack',
                              'rcs-algorithm': 'rcs-RFC8724',
                              'rule-id-length': 11,
                              'rule-id-value': 12}]}}

This representation has been validated with yangson module.

The CORECONF representation is, supposing that the SID starts at 10000000.

b'a11a000f429aa10182a3048aa7061a000f428407040801051a000f4253091a000f4292011a000f42500d81a20100024106a7061a000f428107080801051a000f4253091a000f4292011a000f42500d81a201000240a7061a000f427d07140801051a000f4253091a000f4293011a000f42500d81a201000240a6061a000f428007100801051a000f4253091a000f4293011a000f424ca7061a000f427f07080801051a000f4253091a000f4292011a000f42500d81a2010002413aa7061a000f427e07080801051a000f4253091a000f4293011a000f42500d81a201000241ffa7061a000f427c0718400801051a000f4253091a000f4292011a000f42500d81a201000248200104701f2101d2a7061a000f427b0718400801051a000f4253091a000f4292011a000f42500d81a2010002480000000000000001a6061a000f42790718400801051a000f4253091a000f4293011a000f4251a6061a000f42780718400801051a000f4253091a000f4293011a000f4251181e06181d03a7181e0c181d0b021a000f4255181b1a000f429603021403151a000f4290'

or:

{1000090: {1:
        [ {4: [{6: 1000068, 7: 4, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'06'}]},
              {6: 1000065, 7: 8, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h''}]},
              {6: 1000061, 7: 20, 8: 1, 5: 1000019, 9: 1000083, 1: 1000016, 13: [{1: 0, 2: h''}]},
              {6: 1000064, 7: 16, 8: 1, 5: 1000019, 9: 1000083, 1: 1000012},
              {6: 1000063, 7: 8, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'3A'}]},
              {6: 1000062, 7: 8, 8: 1, 5: 1000019, 9: 1000083, 1: 1000016, 13: [{1: 0, 2: h'FF'}]},
              {6: 1000060, 7: 64, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'200104701F2101D2'}]},
              {6: 1000059, 7: 64, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'0000000000000001'}]},
              {6: 1000057, 7: 64, 8: 1, 5: 1000019, 9: 1000083, 1: 1000017},
              {6: 1000056, 7: 64, 8: 1, 5: 1000019, 9: 1000083, 1: 1000017}],
          30: 6,
          29: 3},
        {30: 12, 29: 11, 2: 1000021, 27: 1000086, 3: 2, 20: 3, 21: 1000080}
        ]
    }
}




2022-07-11
13 (System) Changed action holders to Éric Vyncke (IESG state changed)
2022-07-11
13 (System) Sub state has been changed to AD Followup from Revised ID Needed
2022-07-11
13 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-13.txt
2022-07-11
13 Laurent Toutain New version accepted (logged-in submitter: Laurent Toutain)
2022-07-11
13 Laurent Toutain Uploaded new revision
2022-05-30
12 Éric Vyncke AD review comments sent to the LP-WAN mailing list. https://mailarchive.ietf.org/arch/msg/lp-wan/yI_DhSCjp416nIsDxZBMRHv4xj8/
2022-05-30
12 (System) Changed action holders to Laurent Toutain, Éric Vyncke, Ana Minaburo (IESG state changed)
2022-05-30
12 Éric Vyncke IESG state changed to AD Evaluation::Revised I-D Needed from AD Evaluation
2022-05-29
12 Éric Vyncke IESG state changed to AD Evaluation from Publication Requested
2022-05-25
12 Pascal Thubert
# Document Shepherd Writeup for draft-ietf-lpwan-schc-yang-data-model-12


Technical Summary:


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and …
# Document Shepherd Writeup for draft-ietf-lpwan-schc-yang-data-model-12


Technical Summary:


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and fragmentation rules for RFC 8724 and RFC 8824


Working Group Summary:

This document was discussed at a number of LPWAN interim meetings. There was never any form of opposition against it. The way to allow extensions in particular with the upcoming "compound ack" spec was studied.


Personal:
Document Shepherd:  Pascal Thubert
Responsible Area Director: Eric Vyncke


Template:
*This version is dated 8 April 2022.*



## 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's more of the former. LPWAN has a core of 6-8 people that are very active and implement open source code as well as proprietary stacks for LoRa and SigFox.

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

  There was a global approval; One slight issue was heavily discussed: the size of a timer in seconds, 32 vs. 64 bits. The RFC does not constrain the duration of the timer. On paper, all the proposed representations (string and cbor) do not need to know so it should not matter. But the implementer may depend on the YANG model to type his variables. The proposal was made to replace the 64 bits by a mantissa (2 bytes) and a 1 byte exponent of 2. A default value for the exponent (13, with the base unit in microseconds) can be omitted in the air, allowing 2 octets to indicate from 1s to 18H.

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)?

    There is at least a partial implementations of the model in openSCHC, see (*) at the end of this writeup


### Additional Reviews

5. Does this document need review from other IETF working groups or external
  organizations? Have those reviews occurred?

  No such thing

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 was reviewed by a YANG doctor (https://datatracker.ietf.org/doc/review-ietf-lpwan-schc-yang-data-model-04-yangdoctors-early-moberg-2021-04-13/). It was edited by a lead SCHC author and reviewed by the SCHC editor.

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]?

  Yes, the document was validated through IETF YANG tools including yangson, see (*) at the end of this writeup


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.

  There's only YANG

### 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?

  Certainly.

10. Several IETF Areas have assembled [lists of common issues that their
    reviewers encounter][6]. Do any such issues remain that would merit specific
    attention from subsequent reviews?

    I could not find one relevant here

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


Proposed Standard, which makes sense for such content. Datatracker state attributes are correct.

12. Has the interested community confirmed that any and all appropriate IPR
    disclosures required by [BCP 78][7] and [BCP 79][8] have been filed? If not,
    explain why. If yes, summarize any discussion and conclusion regarding the
    intellectual property rights (IPR) disclosures, including links to relevant
    emails.

    Yes and there' s no IPR against this document.

13. Has each Author or Contributor confirmed their willingness to be listed as
    such? If the number of Authors/Editors on the front page is greater than 5,
    please provide a justification.

    All good on that front

14. Identify any remaining I-D nits in this document. (See [the idnits tool][9]
    and the checkbox items found in Guidelines to Authors of Internet-Drafts).
    Simply running the idnits tool is not enough; please review the entire
    guidelines document.

    All good now.

15. Should any informative references be normative or vice-versa?

    All good; there could have been a ref to YANG. Also I suggested to move the LoRa reference to informational

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

    none

17. Are there any normative downward references (see [RFC 3967][10],
    [BCP 97][11])? If so, list them.

    none

18. Are there normative references to documents that are not ready for
    advancement or are otherwise in an unclear state? If they exist, what is the
    plan for their completion?

    none

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][12]).

No IANA, this specification is purely for the YANG model, no new functionality or format.

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.

    none

[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://trac.ietf.org/trac/ops/wiki/yang-review-tools
[5]: https://www.rfc-editor.org/rfc/rfc8342.html
[6]: https://trac.ietf.org/trac/iesg/wiki/ExpertTopics
[7]: https://www.rfc-editor.org/info/bcp78
[8]: https://www.rfc-editor.org/info/bcp79
[9]: https://www.ietf.org/tools/idnits/
[10]: https://www.rfc-editor.org/rfc/rfc3967.html
[11]: https://www.rfc-editor.org/info/bcp97
[12]: https://www.rfc-editor.org/rfc/rfc8126.html


(*) Openschc is implementing the conversion between the local rule representation and the representation conform to the DM in JSON and CBOR (following -08 draft).

The code is available on github(on the scapy branch) :
https://github.com/openschc/openschc/blob/scapy/examples/scapy/data_model.py
For instance the openschc simples rule for comp and frag :

/-------------------------\
|Rule 6/3            110  |
|---------------+---+--+--+------------------------------+-------------+----------------\
|IPV6.VER      |  4| 1|BI|                            6|EQUAL        |NOT-SENT        |
|IPV6.TC        |  8| 1|BI|                            0|EQUAL        |NOT-SENT        |
|IPV6.FL        | 20| 1|BI|                            0|IGNORE      |NOT-SENT        |
|IPV6.LEN      | 16| 1|BI|------------------------------|IGNORE      |COMPUTE-LENGTH  |
|IPV6.NXT      |  8| 1|BI|                            58|EQUAL        |NOT-SENT        |
|IPV6.HOP_LMT  |  8| 1|BI|                          255|IGNORE      |NOT-SENT        |
|IPV6.DEV_PREFIX| 64| 1|BI|              200104701f2101d2|EQUAL        |NOT-SENT        |
|IPV6.DEV_IID  | 64| 1|BI|              0000000000000001|EQUAL        |NOT-SENT        |
|IPV6.APP_PREFIX| 64| 1|BI|------------------------------|IGNORE      |VALUE-SENT      |
|IPV6.APP_IID  | 64| 1|BI|------------------------------|IGNORE      |VALUE-SENT      |
\---------------+---+--+--+------------------------------+-------------+----------------/
/-------------------------\
|Rule 12/11    00001100  |
!=========================+=============================================================\
!^ Fragmentation mode : NoAck    header dtag 2 Window  0 FCN  3                    UP ^!
!^ No Tile size specified                                                              ^!
!^ RCS Algorithm: RCS_RFC8724                                                          ^!
\=======================================================================================/

or

{
    "DeviceID" : "udp:90.27.174.128:8888",
    "SoR" : [
{
    "RuleID": 6,
    "RuleIDLength": 3,
    "Compression": [
{"FID": "IPV6.VER", "TV": 6, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.TC",  "TV": 0, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.FL",  "TV": 0, "MO": "ignore","CDA": "not-sent"},
{"FID": "IPV6.LEN",          "MO": "ignore","CDA": "compute-length"},
{"FID": "IPV6.NXT", "TV": 58, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.HOP_LMT", "TV" : 255,"MO": "ignore","CDA": "not-sent"},
{"FID": "IPV6.DEV_PREFIX","TV": "2001:470:1F21:1D2::/64",
                                              "MO": "equal","CDA": "not-sent"},
{"FID": "IPV6.DEV_IID", "TV": "::1","MO": "equal","CDA": "not-sent"},
{"FID": "IPV6.APP_PREFIX",        "MO": "ignore","CDA": "value-sent"},
{"FID": "IPV6.APP_IID",        "MO": "ignore","CDA": "value-sent"}
    ]
},{
"RuleID" : 12,
"RuleIDLength" : 11,
"Fragmentation" : {
"FRMode": "NoAck",
"FRDirection": "UP"
}
}
    ]
  }


is converted in JSON as

{'ietf-schc:schc': {'rule': [{'entry': [{'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-version',
                                        'field-length': '4',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AAY='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-trafficclass',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AA=='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-flowlabel',
                                        'field-length': '20',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore',
                                        'target-value': [{'position': 0,
                                                          'value': b'AA=='}]},
                                        {'comp-decomp-action': 'cda-compute-length',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-payloadlength',
                                        'field-length': '16',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-nextheader',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'ADo='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-hoplimit',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore',
                                        'target-value': [{'position': 0,
                                                          'value': b'AP8='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-devprefix',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'IAEEcB8h'
                                                                    b'AdI='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-deviid',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AAAAAAAA'
                                                                    b'AAE='}]},
                                        {'comp-decomp-action': 'cda-value-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-appprefix',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'},
                                        {'comp-decomp-action': 'cda-value-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-appiid',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'}],
                              'rule-id-length': 3,
                              'rule-id-value': 6},
                            {'direction': 'di-up',
                              'dtag-size': 2,
                              'fcn-size': 3,
                              'fragmentation-mode': 'fragmentation-mode-no-ack',
                              'rcs-algorithm': 'rcs-RFC8724',
                              'rule-id-length': 11,
                              'rule-id-value': 12}]}}

This representation has been validated with yangson module.

The CORECONF representation is, supposing that the SID starts at 10000000.

b'a11a000f429aa10182a3048aa7061a000f428407040801051a000f4253091a000f4292011a000f42500d81a20100024106a7061a000f428107080801051a000f4253091a000f4292011a000f42500d81a201000240a7061a000f427d07140801051a000f4253091a000f4293011a000f42500d81a201000240a6061a000f428007100801051a000f4253091a000f4293011a000f424ca7061a000f427f07080801051a000f4253091a000f4292011a000f42500d81a2010002413aa7061a000f427e07080801051a000f4253091a000f4293011a000f42500d81a201000241ffa7061a000f427c0718400801051a000f4253091a000f4292011a000f42500d81a201000248200104701f2101d2a7061a000f427b0718400801051a000f4253091a000f4292011a000f42500d81a2010002480000000000000001a6061a000f42790718400801051a000f4253091a000f4293011a000f4251a6061a000f42780718400801051a000f4253091a000f4293011a000f4251181e06181d03a7181e0c181d0b021a000f4255181b1a000f429603021403151a000f4290'

or:

{1000090: {1:
        [ {4: [{6: 1000068, 7: 4, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'06'}]},
              {6: 1000065, 7: 8, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h''}]},
              {6: 1000061, 7: 20, 8: 1, 5: 1000019, 9: 1000083, 1: 1000016, 13: [{1: 0, 2: h''}]},
              {6: 1000064, 7: 16, 8: 1, 5: 1000019, 9: 1000083, 1: 1000012},
              {6: 1000063, 7: 8, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'3A'}]},
              {6: 1000062, 7: 8, 8: 1, 5: 1000019, 9: 1000083, 1: 1000016, 13: [{1: 0, 2: h'FF'}]},
              {6: 1000060, 7: 64, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'200104701F2101D2'}]},
              {6: 1000059, 7: 64, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'0000000000000001'}]},
              {6: 1000057, 7: 64, 8: 1, 5: 1000019, 9: 1000083, 1: 1000017},
              {6: 1000056, 7: 64, 8: 1, 5: 1000019, 9: 1000083, 1: 1000017}],
          30: 6,
          29: 3},
        {30: 12, 29: 11, 2: 1000021, 27: 1000086, 3: 2, 20: 3, 21: 1000080}
        ]
    }
}




2022-05-25
12 Pascal Thubert IETF WG state changed to Submitted to IESG for Publication from WG Consensus: Waiting for Write-Up
2022-05-25
12 Pascal Thubert IESG state changed to Publication Requested from I-D Exists
2022-05-25
12 (System) Changed action holders to Éric Vyncke (IESG state changed)
2022-05-25
12 Pascal Thubert IESG process started in state Publication Requested
2022-05-25
12 Pascal Thubert
# Document Shepherd Writeup for draft-ietf-lpwan-schc-yang-data-model-12


Technical Summary:


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and …
# Document Shepherd Writeup for draft-ietf-lpwan-schc-yang-data-model-12


Technical Summary:


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and fragmentation rules for RFC 8724 and RFC 8824


Working Group Summary:

This document was discussed at a number of LPWAN interim meetings. There was never any form of opposition against it. The way to allow extensions in particular with the upcoming "compound ack" spec was studied.


Personal:
Document Shepherd:  Pascal Thubert
Responsible Area Director: Eric Vyncke


Template:
*This version is dated 8 April 2022.*



## 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's more of the former. LPWAN has a core of 6-8 people that are very active and implement open source code as well as proprietary stacks for LoRa and SigFox.

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

  There was a global approval; One slight issue was heavily discussed: the size of a timer in seconds, 32 vs. 64 bits. The RFC does not constrain the duration of the timer. On paper, all the proposed representations (string and cbor) do not need to know so it should not matter. But the implementer may depend on the YANG model to type his variables. The proposal was made to replace the 64 bits by a mantissa (2 bytes) and a 1 byte exponent of 2. A default value for the exponent (13, with the base unit in microseconds) can be omitted in the air, allowing 2 octets to indicate from 1s to 18H.

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)?

    There is at least a partial implementations of the model in openSCHC, see (*) at the end of this writeup


### Additional Reviews

5. Does this document need review from other IETF working groups or external
  organizations? Have those reviews occurred?

  No such thing

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 was reviewed by a YANG doctor (https://datatracker.ietf.org/doc/review-ietf-lpwan-schc-yang-data-model-04-yangdoctors-early-moberg-2021-04-13/). It was edited by a lead SCHC author and reviewed by the SCHC editor.

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]?

  Yes, the document was validated through IETF YANG tools including yangson, see (*) at the end of this writeup


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.

  There's only YANG

### 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?

  Certainly.

10. Several IETF Areas have assembled [lists of common issues that their
    reviewers encounter][6]. Do any such issues remain that would merit specific
    attention from subsequent reviews?

    I could not find one relevant here

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


Proposed Standard, which makes sense for such content. Datatracker state attributes are correct.

12. Has the interested community confirmed that any and all appropriate IPR
    disclosures required by [BCP 78][7] and [BCP 79][8] have been filed? If not,
    explain why. If yes, summarize any discussion and conclusion regarding the
    intellectual property rights (IPR) disclosures, including links to relevant
    emails.

    Yes and there' s no IPR against this document.

13. Has each Author or Contributor confirmed their willingness to be listed as
    such? If the number of Authors/Editors on the front page is greater than 5,
    please provide a justification.

    All good on that front

14. Identify any remaining I-D nits in this document. (See [the idnits tool][9]
    and the checkbox items found in Guidelines to Authors of Internet-Drafts).
    Simply running the idnits tool is not enough; please review the entire
    guidelines document.

    All good now.

15. Should any informative references be normative or vice-versa?

    All good; there could have been a ref to YANG. Also I suggested to move the LoRa reference to informational

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

    none

17. Are there any normative downward references (see [RFC 3967][10],
    [BCP 97][11])? If so, list them.

    none

18. Are there normative references to documents that are not ready for
    advancement or are otherwise in an unclear state? If they exist, what is the
    plan for their completion?

    none

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][12]).

No IANA, this specification is purely for the YANG model, no new functionality or format.

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.

    none

[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://trac.ietf.org/trac/ops/wiki/yang-review-tools
[5]: https://www.rfc-editor.org/rfc/rfc8342.html
[6]: https://trac.ietf.org/trac/iesg/wiki/ExpertTopics
[7]: https://www.rfc-editor.org/info/bcp78
[8]: https://www.rfc-editor.org/info/bcp79
[9]: https://www.ietf.org/tools/idnits/
[10]: https://www.rfc-editor.org/rfc/rfc3967.html
[11]: https://www.rfc-editor.org/info/bcp97
[12]: https://www.rfc-editor.org/rfc/rfc8126.html


(*) Openschc is implementing the conversion between the local rule representation and the representation conform to the DM in JSON and CBOR (following -08 draft).

The code is available on github(on the scapy branch) :
https://github.com/openschc/openschc/blob/scapy/examples/scapy/data_model.py
For instance the openschc simples rule for comp and frag :

/-------------------------\
|Rule 6/3            110  |
|---------------+---+--+--+------------------------------+-------------+----------------\
|IPV6.VER      |  4| 1|BI|                            6|EQUAL        |NOT-SENT        |
|IPV6.TC        |  8| 1|BI|                            0|EQUAL        |NOT-SENT        |
|IPV6.FL        | 20| 1|BI|                            0|IGNORE      |NOT-SENT        |
|IPV6.LEN      | 16| 1|BI|------------------------------|IGNORE      |COMPUTE-LENGTH  |
|IPV6.NXT      |  8| 1|BI|                            58|EQUAL        |NOT-SENT        |
|IPV6.HOP_LMT  |  8| 1|BI|                          255|IGNORE      |NOT-SENT        |
|IPV6.DEV_PREFIX| 64| 1|BI|              200104701f2101d2|EQUAL        |NOT-SENT        |
|IPV6.DEV_IID  | 64| 1|BI|              0000000000000001|EQUAL        |NOT-SENT        |
|IPV6.APP_PREFIX| 64| 1|BI|------------------------------|IGNORE      |VALUE-SENT      |
|IPV6.APP_IID  | 64| 1|BI|------------------------------|IGNORE      |VALUE-SENT      |
\---------------+---+--+--+------------------------------+-------------+----------------/
/-------------------------\
|Rule 12/11    00001100  |
!=========================+=============================================================\
!^ Fragmentation mode : NoAck    header dtag 2 Window  0 FCN  3                    UP ^!
!^ No Tile size specified                                                              ^!
!^ RCS Algorithm: RCS_RFC8724                                                          ^!
\=======================================================================================/

or

{
    "DeviceID" : "udp:90.27.174.128:8888",
    "SoR" : [
{
    "RuleID": 6,
    "RuleIDLength": 3,
    "Compression": [
{"FID": "IPV6.VER", "TV": 6, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.TC",  "TV": 0, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.FL",  "TV": 0, "MO": "ignore","CDA": "not-sent"},
{"FID": "IPV6.LEN",          "MO": "ignore","CDA": "compute-length"},
{"FID": "IPV6.NXT", "TV": 58, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.HOP_LMT", "TV" : 255,"MO": "ignore","CDA": "not-sent"},
{"FID": "IPV6.DEV_PREFIX","TV": "2001:470:1F21:1D2::/64",
                                              "MO": "equal","CDA": "not-sent"},
{"FID": "IPV6.DEV_IID", "TV": "::1","MO": "equal","CDA": "not-sent"},
{"FID": "IPV6.APP_PREFIX",        "MO": "ignore","CDA": "value-sent"},
{"FID": "IPV6.APP_IID",        "MO": "ignore","CDA": "value-sent"}
    ]
},{
"RuleID" : 12,
"RuleIDLength" : 11,
"Fragmentation" : {
"FRMode": "NoAck",
"FRDirection": "UP"
}
}
    ]
  }


is converted in JSON as

{'ietf-schc:schc': {'rule': [{'entry': [{'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-version',
                                        'field-length': '4',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AAY='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-trafficclass',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AA=='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-flowlabel',
                                        'field-length': '20',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore',
                                        'target-value': [{'position': 0,
                                                          'value': b'AA=='}]},
                                        {'comp-decomp-action': 'cda-compute-length',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-payloadlength',
                                        'field-length': '16',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-nextheader',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'ADo='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-hoplimit',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore',
                                        'target-value': [{'position': 0,
                                                          'value': b'AP8='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-devprefix',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'IAEEcB8h'
                                                                    b'AdI='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-deviid',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AAAAAAAA'
                                                                    b'AAE='}]},
                                        {'comp-decomp-action': 'cda-value-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-appprefix',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'},
                                        {'comp-decomp-action': 'cda-value-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-appiid',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'}],
                              'rule-id-length': 3,
                              'rule-id-value': 6},
                            {'direction': 'di-up',
                              'dtag-size': 2,
                              'fcn-size': 3,
                              'fragmentation-mode': 'fragmentation-mode-no-ack',
                              'rcs-algorithm': 'rcs-RFC8724',
                              'rule-id-length': 11,
                              'rule-id-value': 12}]}}

This representation has been validated with yangson module.

The CORECONF representation is, supposing that the SID starts at 10000000.

b'a11a000f429aa10182a3048aa7061a000f428407040801051a000f4253091a000f4292011a000f42500d81a20100024106a7061a000f428107080801051a000f4253091a000f4292011a000f42500d81a201000240a7061a000f427d07140801051a000f4253091a000f4293011a000f42500d81a201000240a6061a000f428007100801051a000f4253091a000f4293011a000f424ca7061a000f427f07080801051a000f4253091a000f4292011a000f42500d81a2010002413aa7061a000f427e07080801051a000f4253091a000f4293011a000f42500d81a201000241ffa7061a000f427c0718400801051a000f4253091a000f4292011a000f42500d81a201000248200104701f2101d2a7061a000f427b0718400801051a000f4253091a000f4292011a000f42500d81a2010002480000000000000001a6061a000f42790718400801051a000f4253091a000f4293011a000f4251a6061a000f42780718400801051a000f4253091a000f4293011a000f4251181e06181d03a7181e0c181d0b021a000f4255181b1a000f429603021403151a000f4290'

or:

{1000090: {1:
        [ {4: [{6: 1000068, 7: 4, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'06'}]},
              {6: 1000065, 7: 8, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h''}]},
              {6: 1000061, 7: 20, 8: 1, 5: 1000019, 9: 1000083, 1: 1000016, 13: [{1: 0, 2: h''}]},
              {6: 1000064, 7: 16, 8: 1, 5: 1000019, 9: 1000083, 1: 1000012},
              {6: 1000063, 7: 8, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'3A'}]},
              {6: 1000062, 7: 8, 8: 1, 5: 1000019, 9: 1000083, 1: 1000016, 13: [{1: 0, 2: h'FF'}]},
              {6: 1000060, 7: 64, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'200104701F2101D2'}]},
              {6: 1000059, 7: 64, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'0000000000000001'}]},
              {6: 1000057, 7: 64, 8: 1, 5: 1000019, 9: 1000083, 1: 1000017},
              {6: 1000056, 7: 64, 8: 1, 5: 1000019, 9: 1000083, 1: 1000017}],
          30: 6,
          29: 3},
        {30: 12, 29: 11, 2: 1000021, 27: 1000086, 3: 2, 20: 3, 21: 1000080}
        ]
    }
}




2022-05-25
12 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-12.txt
2022-05-25
12 (System) New version approved
2022-05-25
12 (System) Request for posting confirmation emailed to previous authors: Ana Minaburo , Laurent Toutain , lpwan-chairs@ietf.org
2022-05-25
12 Laurent Toutain Uploaded new revision
2022-05-24
11 Pascal Thubert
][12]).

No IANA, this specification is purely for the YANG model, no new functionality or format.

21. List any new IANA registries that require Designated …
][12]).

No IANA, this specification is purely for the YANG model, no new functionality or format.

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.

    none

[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://trac.ietf.org/trac/ops/wiki/yang-review-tools
[5]: https://www.rfc-editor.org/rfc/rfc8342.html
[6]: https://trac.ietf.org/trac/iesg/wiki/ExpertTopics
[7]: https://www.rfc-editor.org/info/bcp78
[8]: https://www.rfc-editor.org/info/bcp79
[9]: https://www.ietf.org/tools/idnits/
[10]: https://www.rfc-editor.org/rfc/rfc3967.html
[11]: https://www.rfc-editor.org/info/bcp97
[12]: https://www.rfc-editor.org/rfc/rfc8126.html


(*) Openschc is implementing the conversion between the local rule representation and the representation conform to the DM in JSON and CBOR (following -08 draft).

The code is available on github(on the scapy branch) :
https://github.com/openschc/openschc/blob/scapy/examples/scapy/data_model.py
For instance the openschc simples rule for comp and frag :

/-------------------------\
|Rule 6/3            110  |
|---------------+---+--+--+------------------------------+-------------+----------------\
|IPV6.VER      |  4| 1|BI|                            6|EQUAL        |NOT-SENT        |
|IPV6.TC        |  8| 1|BI|                            0|EQUAL        |NOT-SENT        |
|IPV6.FL        | 20| 1|BI|                            0|IGNORE      |NOT-SENT        |
|IPV6.LEN      | 16| 1|BI|------------------------------|IGNORE      |COMPUTE-LENGTH  |
|IPV6.NXT      |  8| 1|BI|                            58|EQUAL        |NOT-SENT        |
|IPV6.HOP_LMT  |  8| 1|BI|                          255|IGNORE      |NOT-SENT        |
|IPV6.DEV_PREFIX| 64| 1|BI|              200104701f2101d2|EQUAL        |NOT-SENT        |
|IPV6.DEV_IID  | 64| 1|BI|              0000000000000001|EQUAL        |NOT-SENT        |
|IPV6.APP_PREFIX| 64| 1|BI|------------------------------|IGNORE      |VALUE-SENT      |
|IPV6.APP_IID  | 64| 1|BI|------------------------------|IGNORE      |VALUE-SENT      |
\---------------+---+--+--+------------------------------+-------------+----------------/
/-------------------------\
|Rule 12/11    00001100  |
!=========================+=============================================================\
!^ Fragmentation mode : NoAck    header dtag 2 Window  0 FCN  3                    UP ^!
!^ No Tile size specified                                                              ^!
!^ RCS Algorithm: RCS_RFC8724                                                          ^!
\=======================================================================================/

or

{
    "DeviceID" : "udp:90.27.174.128:8888",
    "SoR" : [
{
    "RuleID": 6,
    "RuleIDLength": 3,
    "Compression": [
{"FID": "IPV6.VER", "TV": 6, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.TC",  "TV": 0, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.FL",  "TV": 0, "MO": "ignore","CDA": "not-sent"},
{"FID": "IPV6.LEN",          "MO": "ignore","CDA": "compute-length"},
{"FID": "IPV6.NXT", "TV": 58, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.HOP_LMT", "TV" : 255,"MO": "ignore","CDA": "not-sent"},
{"FID": "IPV6.DEV_PREFIX","TV": "2001:470:1F21:1D2::/64",
                                              "MO": "equal","CDA": "not-sent"},
{"FID": "IPV6.DEV_IID", "TV": "::1","MO": "equal","CDA": "not-sent"},
{"FID": "IPV6.APP_PREFIX",        "MO": "ignore","CDA": "value-sent"},
{"FID": "IPV6.APP_IID",        "MO": "ignore","CDA": "value-sent"}
    ]
},{
"RuleID" : 12,
"RuleIDLength" : 11,
"Fragmentation" : {
"FRMode": "NoAck",
"FRDirection": "UP"
}
}
    ]
  }


is converted in JSON as

{'ietf-schc:schc': {'rule': [{'entry': [{'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-version',
                                        'field-length': '4',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AAY='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-trafficclass',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AA=='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-flowlabel',
                                        'field-length': '20',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore',
                                        'target-value': [{'position': 0,
                                                          'value': b'AA=='}]},
                                        {'comp-decomp-action': 'cda-compute-length',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-payloadlength',
                                        'field-length': '16',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-nextheader',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'ADo='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-hoplimit',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore',
                                        'target-value': [{'position': 0,
                                                          'value': b'AP8='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-devprefix',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'IAEEcB8h'
                                                                    b'AdI='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-deviid',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AAAAAAAA'
                                                                    b'AAE='}]},
                                        {'comp-decomp-action': 'cda-value-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-appprefix',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'},
                                        {'comp-decomp-action': 'cda-value-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-appiid',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'}],
                              'rule-id-length': 3,
                              'rule-id-value': 6},
                            {'direction': 'di-up',
                              'dtag-size': 2,
                              'fcn-size': 3,
                              'fragmentation-mode': 'fragmentation-mode-no-ack',
                              'rcs-algorithm': 'rcs-RFC8724',
                              'rule-id-length': 11,
                              'rule-id-value': 12}]}}

This representation has been validated with yangson module.

The CORECONF representation is, supposing that the SID starts at 10000000.

b'a11a000f429aa10182a3048aa7061a000f428407040801051a000f4253091a000f4292011a000f42500d81a20100024106a7061a000f428107080801051a000f4253091a000f4292011a000f42500d81a201000240a7061a000f427d07140801051a000f4253091a000f4293011a000f42500d81a201000240a6061a000f428007100801051a000f4253091a000f4293011a000f424ca7061a000f427f07080801051a000f4253091a000f4292011a000f42500d81a2010002413aa7061a000f427e07080801051a000f4253091a000f4293011a000f42500d81a201000241ffa7061a000f427c0718400801051a000f4253091a000f4292011a000f42500d81a201000248200104701f2101d2a7061a000f427b0718400801051a000f4253091a000f4292011a000f42500d81a2010002480000000000000001a6061a000f42790718400801051a000f4253091a000f4293011a000f4251a6061a000f42780718400801051a000f4253091a000f4293011a000f4251181e06181d03a7181e0c181d0b021a000f4255181b1a000f429603021403151a000f4290'

or:

{1000090: {1:
        [ {4: [{6: 1000068, 7: 4, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'06'}]},
              {6: 1000065, 7: 8, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h''}]},
              {6: 1000061, 7: 20, 8: 1, 5: 1000019, 9: 1000083, 1: 1000016, 13: [{1: 0, 2: h''}]},
              {6: 1000064, 7: 16, 8: 1, 5: 1000019, 9: 1000083, 1: 1000012},
              {6: 1000063, 7: 8, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'3A'}]},
              {6: 1000062, 7: 8, 8: 1, 5: 1000019, 9: 1000083, 1: 1000016, 13: [{1: 0, 2: h'FF'}]},
              {6: 1000060, 7: 64, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'200104701F2101D2'}]},
              {6: 1000059, 7: 64, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'0000000000000001'}]},
              {6: 1000057, 7: 64, 8: 1, 5: 1000019, 9: 1000083, 1: 1000017},
              {6: 1000056, 7: 64, 8: 1, 5: 1000019, 9: 1000083, 1: 1000017}],
          30: 6,
          29: 3},
        {30: 12, 29: 11, 2: 1000021, 27: 1000086, 3: 2, 20: 3, 21: 1000080}
        ]
    }
}




2022-05-24
11 Pascal Thubert
https://trac.ietf.org/trac/ops/wiki/yang-review-tools
[5]: https://www.rfc-editor.org/rfc/rfc8342.html
[6]: https://trac.ietf.org/trac/iesg/wiki/ExpertTopics
[7]: https://www.rfc-editor.org/info/bcp78
[8]: https://www.rfc-editor.org/info/bcp79
[9]: https://www.ietf.org/tools/idnits/
[10]: https://www.rfc-editor.org/rfc/rfc3967.html
[11]: https://www.rfc-editor.org/info/bcp97
[12]: https://www.rfc-editor.org/rfc/rfc8126.html


(*) Openschc is implementing the conversion between the local rule representation and the representation conform to the DM in JSON and CBOR (following -08 draft).

The code is available on github(on the scapy branch) :
https://github.com/openschc/openschc/blob/scapy/examples/scapy/data_model.py
For instance the openschc simples rule for comp and frag :

/-------------------------\
|Rule 6/3            110  |
|---------------+---+--+--+------------------------------+-------------+----------------\
|IPV6.VER      |  4| 1|BI|                            6|EQUAL        |NOT-SENT        |
|IPV6.TC        |  8| 1|BI|                            0|EQUAL        |NOT-SENT        |
|IPV6.FL        | 20| 1|BI|                            0|IGNORE      |NOT-SENT        |
|IPV6.LEN      | 16| 1|BI|------------------------------|IGNORE      |COMPUTE-LENGTH  |
|IPV6.NXT      |  8| 1|BI|                            58|EQUAL        |NOT-SENT        |
|IPV6.HOP_LMT  |  8| 1|BI|                          255|IGNORE      |NOT-SENT        |
|IPV6.DEV_PREFIX| 64| 1|BI|              200104701f2101d2|EQUAL        |NOT-SENT        |
|IPV6.DEV_IID  | 64| 1|BI|              0000000000000001|EQUAL        |NOT-SENT        |
|IPV6.APP_PREFIX| 64| 1|BI|------------------------------|IGNORE      |VALUE-SENT      |
|IPV6.APP_IID  | 64| 1|BI|------------------------------|IGNORE      |VALUE-SENT      |
\---------------+---+--+--+------------------------------+-------------+----------------/
/-------------------------\
|Rule 12/11    00001100  |
!=========================+=============================================================\
!^ Fragmentation mode : NoAck    header dtag 2 Window  0 FCN  3                    UP ^!
!^ No Tile size specified                                                              ^!
!^ RCS Algorithm: RCS_RFC8724                                                          ^!
\=======================================================================================/

or

{
    "DeviceID" : "udp:90.27.174.128:8888",
    "SoR" : [
{
    "RuleID": 6,
    "RuleIDLength": 3,
    "Compression": [
{"FID": "IPV6.VER", "TV": 6, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.TC",  "TV": 0, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.FL",  "TV": 0, "MO": "ignore","CDA": "not-sent"},
{"FID": "IPV6.LEN",          "MO": "ignore","CDA": "compute-length"},
{"FID": "IPV6.NXT", "TV": 58, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.HOP_LMT", "TV" : 255,"MO": "ignore","CDA": "not-sent"},
{"FID": "IPV6.DEV_PREFIX","TV": "2001:470:1F21:1D2::/64",
                                              "MO": "equal","CDA": "not-sent"},
{"FID": "IPV6.DEV_IID", "TV": "::1","MO": "equal","CDA": "not-sent"},
{"FID": "IPV6.APP_PREFIX",        "MO": "ignore","CDA": "value-sent"},
{"FID": "IPV6.APP_IID",        "MO": "ignore","CDA": "value-sent"}
    ]
},{
"RuleID" : 12,
"RuleIDLength" : 11,
"Fragmentation" : {
"FRMode": "NoAck",
"FRDirection": "UP"
}
}
    ]
  }


is converted in JSON as

{'ietf-schc:schc': {'rule': [{'entry': [{'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-version',
                                        'field-length': '4',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AAY='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-trafficclass',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AA=='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-flowlabel',
                                        'field-length': '20',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore',
                                        'target-value': [{'position': 0,
                                                          'value': b'AA=='}]},
                                        {'comp-decomp-action': 'cda-compute-length',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-payloadlength',
                                        'field-length': '16',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-nextheader',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'ADo='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-hoplimit',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore',
                                        'target-value': [{'position': 0,
                                                          'value': b'AP8='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-devprefix',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'IAEEcB8h'
                                                                    b'AdI='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-deviid',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AAAAAAAA'
                                                                    b'AAE='}]},
                                        {'comp-decomp-action': 'cda-value-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-appprefix',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'},
                                        {'comp-decomp-action': 'cda-value-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-appiid',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'}],
                              'rule-id-length': 3,
                              'rule-id-value': 6},
                            {'direction': 'di-up',
                              'dtag-size': 2,
                              'fcn-size': 3,
                              'fragmentation-mode': 'fragmentation-mode-no-ack',
                              'rcs-algorithm': 'rcs-RFC8724',
                              'rule-id-length': 11,
                              'rule-id-value': 12}]}}

This representation has been validated with yangson module.

The CORECONF representation is, supposing that the SID starts at 10000000.

b'a11a000f429aa10182a3048aa7061a000f428407040801051a000f4253091a000f4292011a000f42500d81a20100024106a7061a000f428107080801051a000f4253091a000f4292011a000f42500d81a201000240a7061a000f427d07140801051a000f4253091a000f4293011a000f42500d81a201000240a6061a000f428007100801051a000f4253091a000f4293011a000f424ca7061a000f427f07080801051a000f4253091a000f4292011a000f42500d81a2010002413aa7061a000f427e07080801051a000f4253091a000f4293011a000f42500d81a201000241ffa7061a000f427c0718400801051a000f4253091a000f4292011a000f42500d81a201000248200104701f2101d2a7061a000f427b0718400801051a000f4253091a000f4292011a000f42500d81a2010002480000000000000001a6061a000f42790718400801051a000f4253091a000f4293011a000f4251a6061a000f42780718400801051a000f4253091a000f4293011a000f4251181e06181d03a7181e0c181d0b021a000f4255181b1a000f429603021403151a000f4290'

or:

{1000090: {1:
        [ {4: [{6: 1000068, 7: 4, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'06'}]},
              {6: 1000065, 7: 8, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h''}]},
              {6: 1000061, 7: 20, 8: 1, 5: 1000019, 9: 1000083, 1: 1000016, 13: [{1: 0, 2: h''}]},
              {6: 1000064, 7: 16, 8: 1, 5: 1000019, 9: 1000083, 1: 1000012},
              {6: 1000063, 7: 8, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'3A'}]},
              {6: 1000062, 7: 8, 8: 1, 5: 1000019, 9: 1000083, 1: 1000016, 13: [{1: 0, 2: h'FF'}]},
              {6: 1000060, 7: 64, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'200104701F2101D2'}]},
              {6: 1000059, 7: 64, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'0000000000000001'}]},
              {6: 1000057, 7: 64, 8: 1, 5: 1000019, 9: 1000083, 1: 1000017},
              {6: 1000056, 7: 64, 8: 1, 5: 1000019, 9: 1000083, 1: 1000017}],
          30: 6,
          29: 3},
        {30: 12, 29: 11, 2: 1000021, 27: 1000086, 3: 2, 20: 3, 21: 1000080}
        ]
    }
}




2022-05-24
11 Pascal Thubert
# Document Shepherd Writeup


Technical Summary:


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and fragmentation rules …
# Document Shepherd Writeup


Technical Summary:


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and fragmentation rules for RFC 8724 and RFC 8824


Working Group Summary:

This document was discussed at a number of LPWAN interim meetings. There was never any form of opposition against it. The way to allow extensions in particular with the upcoming "compound ack" spec was studied.


Personnel:
Document Shepherd:  Pascal Thubert
Responsible Area Director: Eric Vyncke


Template:
*This version is dated 8 April 2022.*



## 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's more of the former. LPWAN has a core of 6-8 people that are very active and implement open source code as well as proprietary stacks for LoRa and SigFox.

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

  There was a global approval; One slight issue was heavily discussed: the size of a timer in seconds, 32 vs. 64 bits. The RFC does not constrain the duration of the timer. On paper, all the proposed representations (string and cbor) do not need to know so it should not matter. But the implementer may depend on the YANG model to type his variables. The proposal was made to replace the 64 bits by a mantissa (2 bytes) and a 1 byte exponent of 2. A default value for the exponent (13, with the base unit in microseconds) can be omitted in the air, allowing 2 octets to indicate from 1s to 18H.

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)?

    There is at least a partial implementations of the model in openSCHC, see (*) at the end of this writeup


### Additional Reviews

5. Does this document need review from other IETF working groups or external
  organizations? Have those reviews occurred?

  No such thing

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 was reviewed by a YANG doctor (https://datatracker.ietf.org/doc/review-ietf-lpwan-schc-yang-data-model-04-yangdoctors-early-moberg-2021-04-13/). It was edited by a lead SCHC author and reviewed by the SCHC editor.

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]?

  Yes, the document was validated through IETF YANG tools including yangson, see (*) at the end of this writeup


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.

  There's only YANG

### 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?

  Certainly.

10. Several IETF Areas have assembled [lists of common issues that their
    reviewers encounter][6]. Do any such issues remain that would merit specific
    attention from subsequent reviews?

    I could not find one relevant here

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


Proposed Standard, which makes sense for such content. Datatracker state attributes are correct.

12. Has the interested community confirmed that any and all appropriate IPR
    disclosures required by [BCP 78][7] and [BCP 79][8] have been filed? If not,
    explain why. If yes, summarize any discussion and conclusion regarding the
    intellectual property rights (IPR) disclosures, including links to relevant
    emails.

    Yes and there' s no IPR against this document.

13. Has each Author or Contributor confirmed their willingness to be listed as
    such? If the number of Authors/Editors on the front page is greater than 5,
    please provide a justification.

    All good on that front

14. Identify any remaining I-D nits in this document. (See [the idnits tool][9]
    and the checkbox items found in Guidelines to Authors of Internet-Drafts).
    Simply running the idnits tool is not enough; please review the entire
    guidelines document.

    All good now.

15. Should any informative references be normative or vice-versa?

    All good; there could have been a ref to YANG. Also I suggested to move the LoRa reference to informational

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

    none

17. Are there any normative downward references (see [RFC 3967][10],
    [BCP 97][11])? If so, list them.

    none

18. Are there normative references to documents that are not ready for
    advancement or are otherwise in an unclear state? If they exist, what is the
    plan for their completion?

    none

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][12]).

No IANA, this specification is purely for the YANG model, no new functionality or format.

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.

    none

[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://trac.ietf.org/trac/ops/wiki/yang-review-tools
[5]: https://www.rfc-editor.org/rfc/rfc8342.html
[6]: https://trac.ietf.org/trac/iesg/wiki/ExpertTopics
[7]: https://www.rfc-editor.org/info/bcp78
[8]: https://www.rfc-editor.org/info/bcp79
[9]: https://www.ietf.org/tools/idnits/
[10]: https://www.rfc-editor.org/rfc/rfc3967.html
[11]: https://www.rfc-editor.org/info/bcp97
[12]: https://www.rfc-editor.org/rfc/rfc8126.html


(*) Openschc is implementing the conversion between the local rule representation and the representation conform to the DM in JSON and CBOR (following -08 draft).

The code is available on github(on the scapy branch) :
https://github.com/openschc/openschc/blob/scapy/examples/scapy/data_model.py
For instance the openschc simples rule for comp and frag :

/-------------------------\
|Rule 6/3            110  |
|---------------+---+--+--+------------------------------+-------------+----------------\
|IPV6.VER      |  4| 1|BI|                            6|EQUAL        |NOT-SENT        |
|IPV6.TC        |  8| 1|BI|                            0|EQUAL        |NOT-SENT        |
|IPV6.FL        | 20| 1|BI|                            0|IGNORE      |NOT-SENT        |
|IPV6.LEN      | 16| 1|BI|------------------------------|IGNORE      |COMPUTE-LENGTH  |
|IPV6.NXT      |  8| 1|BI|                            58|EQUAL        |NOT-SENT        |
|IPV6.HOP_LMT  |  8| 1|BI|                          255|IGNORE      |NOT-SENT        |
|IPV6.DEV_PREFIX| 64| 1|BI|              200104701f2101d2|EQUAL        |NOT-SENT        |
|IPV6.DEV_IID  | 64| 1|BI|              0000000000000001|EQUAL        |NOT-SENT        |
|IPV6.APP_PREFIX| 64| 1|BI|------------------------------|IGNORE      |VALUE-SENT      |
|IPV6.APP_IID  | 64| 1|BI|------------------------------|IGNORE      |VALUE-SENT      |
\---------------+---+--+--+------------------------------+-------------+----------------/
/-------------------------\
|Rule 12/11    00001100  |
!=========================+=============================================================\
!^ Fragmentation mode : NoAck    header dtag 2 Window  0 FCN  3                    UP ^!
!^ No Tile size specified                                                              ^!
!^ RCS Algorithm: RCS_RFC8724                                                          ^!
\=======================================================================================/

or

{
    "DeviceID" : "udp:90.27.174.128:8888",
    "SoR" : [
{
    "RuleID": 6,
    "RuleIDLength": 3,
    "Compression": [
{"FID": "IPV6.VER", "TV": 6, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.TC",  "TV": 0, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.FL",  "TV": 0, "MO": "ignore","CDA": "not-sent"},
{"FID": "IPV6.LEN",          "MO": "ignore","CDA": "compute-length"},
{"FID": "IPV6.NXT", "TV": 58, "MO": "equal", "CDA": "not-sent"},
{"FID": "IPV6.HOP_LMT", "TV" : 255,"MO": "ignore","CDA": "not-sent"},
{"FID": "IPV6.DEV_PREFIX","TV": "2001:470:1F21:1D2::/64",
                                              "MO": "equal","CDA": "not-sent"},
{"FID": "IPV6.DEV_IID", "TV": "::1","MO": "equal","CDA": "not-sent"},
{"FID": "IPV6.APP_PREFIX",        "MO": "ignore","CDA": "value-sent"},
{"FID": "IPV6.APP_IID",        "MO": "ignore","CDA": "value-sent"}
    ]
},{
"RuleID" : 12,
"RuleIDLength" : 11,
"Fragmentation" : {
"FRMode": "NoAck",
"FRDirection": "UP"
}
}
    ]
  }


is converted in JSON as

{'ietf-schc:schc': {'rule': [{'entry': [{'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-version',
                                        'field-length': '4',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AAY='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-trafficclass',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AA=='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-flowlabel',
                                        'field-length': '20',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore',
                                        'target-value': [{'position': 0,
                                                          'value': b'AA=='}]},
                                        {'comp-decomp-action': 'cda-compute-length',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-payloadlength',
                                        'field-length': '16',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-nextheader',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'ADo='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-hoplimit',
                                        'field-length': '8',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore',
                                        'target-value': [{'position': 0,
                                                          'value': b'AP8='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-devprefix',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'IAEEcB8h'
                                                                    b'AdI='}]},
                                        {'comp-decomp-action': 'cda-not-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-deviid',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-equal',
                                        'target-value': [{'position': 0,
                                                          'value': b'AAAAAAAA'
                                                                    b'AAE='}]},
                                        {'comp-decomp-action': 'cda-value-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-appprefix',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'},
                                        {'comp-decomp-action': 'cda-value-sent',
                                        'direction-indicator': 'di-bidirectional',
                                        'field-id': 'fid-ipv6-appiid',
                                        'field-length': '64',
                                        'field-position': 1,
                                        'matching-operator': 'mo-ignore'}],
                              'rule-id-length': 3,
                              'rule-id-value': 6},
                            {'direction': 'di-up',
                              'dtag-size': 2,
                              'fcn-size': 3,
                              'fragmentation-mode': 'fragmentation-mode-no-ack',
                              'rcs-algorithm': 'rcs-RFC8724',
                              'rule-id-length': 11,
                              'rule-id-value': 12}]}}

This representation has been validated with yangson module.

The CORECONF representation is, supposing that the SID starts at 10000000.

b'a11a000f429aa10182a3048aa7061a000f428407040801051a000f4253091a000f4292011a000f42500d81a20100024106a7061a000f428107080801051a000f4253091a000f4292011a000f42500d81a201000240a7061a000f427d07140801051a000f4253091a000f4293011a000f42500d81a201000240a6061a000f428007100801051a000f4253091a000f4293011a000f424ca7061a000f427f07080801051a000f4253091a000f4292011a000f42500d81a2010002413aa7061a000f427e07080801051a000f4253091a000f4293011a000f42500d81a201000241ffa7061a000f427c0718400801051a000f4253091a000f4292011a000f42500d81a201000248200104701f2101d2a7061a000f427b0718400801051a000f4253091a000f4292011a000f42500d81a2010002480000000000000001a6061a000f42790718400801051a000f4253091a000f4293011a000f4251a6061a000f42780718400801051a000f4253091a000f4293011a000f4251181e06181d03a7181e0c181d0b021a000f4255181b1a000f429603021403151a000f4290'

or:

{1000090: {1:
        [ {4: [{6: 1000068, 7: 4, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'06'}]},
              {6: 1000065, 7: 8, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h''}]},
              {6: 1000061, 7: 20, 8: 1, 5: 1000019, 9: 1000083, 1: 1000016, 13: [{1: 0, 2: h''}]},
              {6: 1000064, 7: 16, 8: 1, 5: 1000019, 9: 1000083, 1: 1000012},
              {6: 1000063, 7: 8, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'3A'}]},
              {6: 1000062, 7: 8, 8: 1, 5: 1000019, 9: 1000083, 1: 1000016, 13: [{1: 0, 2: h'FF'}]},
              {6: 1000060, 7: 64, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'200104701F2101D2'}]},
              {6: 1000059, 7: 64, 8: 1, 5: 1000019, 9: 1000082, 1: 1000016, 13: [{1: 0, 2: h'0000000000000001'}]},
              {6: 1000057, 7: 64, 8: 1, 5: 1000019, 9: 1000083, 1: 1000017},
              {6: 1000056, 7: 64, 8: 1, 5: 1000019, 9: 1000083, 1: 1000017}],
          30: 6,
          29: 3},
        {30: 12, 29: 11, 2: 1000021, 27: 1000086, 3: 2, 20: 3, 21: 1000080}
        ]
    }
}




2022-05-20
11 Pascal Thubert
# Document Shepherd Writeup


Technical Summary:


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and fragmentation rules …
# Document Shepherd Writeup


Technical Summary:


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and fragmentation rules for RFC 8724 and RFC 8824


Working Group Summary:

This document was discussed at a number of LPWAN interim meetings. There was never any form of opposition against it. The way to allow extensions in particular with the upcoming "compound ack" spec was studied.


Personnel:
Document Shepherd:  Pascal Thubert
Responsible Area Director: Eric Vyncke


Template:
*This version is dated 8 April 2022.*



## 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's more of the former. LPWAN has a core of 6-8 people that are very active and implement open source code as well as proprietary stacks for LoRa and SigFox.

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

  There was a global approval; One slight issue was heavily discussed: the size of a timer in seconds, 32 vs. 64 bits. The RFC does not constrain the duration of the timer. On paper, all the proposed representations (string and cbor) do not need to know so it should not matter. But the implementer may depend on the YANG model to type his variables. The proposal was made to replace the 64 bits by a mantissa (2 bytes) and a 1 byte exponent of 2. A default value for the exponent (13, with the base unit in microseconds) can be omitted in the air, allowing 2 octets to indicate from 1s to 18H.

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)?

    There are at least 2 known but partial implementations of the model, by Acklio and in openSCHC.


### Additional Reviews

5. Does this document need review from other IETF working groups or external
  organizations? Have those reviews occurred?

  No such thing

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 was reviewed by a YANG doctor (https://datatracker.ietf.org/doc/review-ietf-lpwan-schc-yang-data-model-04-yangdoctors-early-moberg-2021-04-13/). It was edited by a lead SCHC author and reviewed by the SCHC editor.

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]?

  Yes, the document was validated through IETF YANG tools including pyang


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.

  There's only YANG

### 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?

  Certainly.

10. Several IETF Areas have assembled [lists of common issues that their
    reviewers encounter][6]. Do any such issues remain that would merit specific
    attention from subsequent reviews?

    I could not find one relevant here

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


Proposed Standard, which makes sense for such content. Datatracker state attributes are correct.

12. Has the interested community confirmed that any and all appropriate IPR
    disclosures required by [BCP 78][7] and [BCP 79][8] have been filed? If not,
    explain why. If yes, summarize any discussion and conclusion regarding the
    intellectual property rights (IPR) disclosures, including links to relevant
    emails.

    Yes and there' s no IPR against this document.

13. Has each Author or Contributor confirmed their willingness to be listed as
    such? If the number of Authors/Editors on the front page is greater than 5,
    please provide a justification.

    All good on that front

14. Identify any remaining I-D nits in this document. (See [the idnits tool][9]
    and the checkbox items found in Guidelines to Authors of Internet-Drafts).
    Simply running the idnits tool is not enough; please review the entire
    guidelines document.

    All good now.

15. Should any informative references be normative or vice-versa?

    All good; there could have been a ref to YANG. Also I suggested to move the LoRa reference to informational

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

    none

17. Are there any normative downward references (see [RFC 3967][10],
    [BCP 97][11])? If so, list them.

    none

18. Are there normative references to documents that are not ready for
    advancement or are otherwise in an unclear state? If they exist, what is the
    plan for their completion?

    none

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][12]).

No IANA, this specification is purely for the YANG model, no new functionality or format.

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.

    none

[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://trac.ietf.org/trac/ops/wiki/yang-review-tools
[5]: https://www.rfc-editor.org/rfc/rfc8342.html
[6]: https://trac.ietf.org/trac/iesg/wiki/ExpertTopics
[7]: https://www.rfc-editor.org/info/bcp78
[8]: https://www.rfc-editor.org/info/bcp79
[9]: https://www.ietf.org/tools/idnits/
[10]: https://www.rfc-editor.org/rfc/rfc3967.html
[11]: https://www.rfc-editor.org/info/bcp97
[12]: https://www.rfc-editor.org/rfc/rfc8126.html



2022-05-19
11 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-11.txt
2022-05-19
11 (System) New version approved
2022-05-19
11 (System) Request for posting confirmation emailed to previous authors: Ana Minaburo , Laurent Toutain , lpwan-chairs@ietf.org
2022-05-19
11 Laurent Toutain Uploaded new revision
2022-05-19
10 Pascal Thubert
# Document Shepherd Writeup


Technical Summary:


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and fragmentation rules …
# Document Shepherd Writeup


Technical Summary:


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and fragmentation rules for RFC 8724 and RFC 8824


Working Group Summary:

This document was discussed at a number of LPWAN interim meetings. There was never any form of opposition against it. The way to allow extensions in particular with the upcoming "compound ack" spec was studied.


Personnel:
Document Shepherd:  Pascal Thubert
Responsible Area Director: Eric Vyncke


Template:
*This version is dated 8 April 2022.*



## 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's more of the former. LPWAN has a core of 6-8 people that are very active and implement open source code as well as proprietary stacks for LoRa and SigFox.

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

  There was a global approval; One slight issue was heavily discussed: the size of a timer in seconds, 32 vs. 64 bits. The RFC does not constrain the duration of the timer. On paper, all the proposed representations (string and cbor) do not need to know so it should not matter. But the implementer may depend on the YANG model to type his variables. The proposal was made to replace the 64 bits by a mantissa (2 bytes) and a 1 byte exponent of 2. A default value for the exponent (13, with the base unit in microseconds) can be omitted in the air, allowing 2 octets to indicate from 1s to 18H.

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)?

    There are at least 2 known but partial implementations of the model, by Acklio and in openSCHC.


### Additional Reviews

5. Does this document need review from other IETF working groups or external
  organizations? Have those reviews occurred?

  No such thing

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 was reviewed by a YANG doctor (https://datatracker.ietf.org/doc/review-ietf-lpwan-schc-yang-data-model-04-yangdoctors-early-moberg-2021-04-13/). It was edited by a lead SCHC author and reviewed by the SCHC editor.

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]?

  Yes, the document was validated through IETF YANG tools including pyang


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.

  There's only YANG

### 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?

  Certainly.

10. Several IETF Areas have assembled [lists of common issues that their
    reviewers encounter][6]. Do any such issues remain that would merit specific
    attention from subsequent reviews?

    I could not find one relevant here

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


Proposed Standard, which makes sense for such content. Datatracker state attributes are correct.

12. Has the interested community confirmed that any and all appropriate IPR
    disclosures required by [BCP 78][7] and [BCP 79][8] have been filed? If not,
    explain why. If yes, summarize any discussion and conclusion regarding the
    intellectual property rights (IPR) disclosures, including links to relevant
    emails.

    Yes and there' s no IPR against this document.

13. Has each Author or Contributor confirmed their willingness to be listed as
    such? If the number of Authors/Editors on the front page is greater than 5,
    please provide a justification.

    All good on that front

14. Identify any remaining I-D nits in this document. (See [the idnits tool][9]
    and the checkbox items found in Guidelines to Authors of Internet-Drafts).
    Simply running the idnits tool is not enough; please review the entire
    guidelines document.

    All good now.

15. Should any informative references be normative or vice-versa?

    All good

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

    none

17. Are there any normative downward references (see [RFC 3967][10],
    [BCP 97][11])? If so, list them.

    none

18. Are there normative references to documents that are not ready for
    advancement or are otherwise in an unclear state? If they exist, what is the
    plan for their completion?

    none

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][12]).

No IANA, this specification is purely for the YANG model, no new functionality or format.

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.

    none

[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://trac.ietf.org/trac/ops/wiki/yang-review-tools
[5]: https://www.rfc-editor.org/rfc/rfc8342.html
[6]: https://trac.ietf.org/trac/iesg/wiki/ExpertTopics
[7]: https://www.rfc-editor.org/info/bcp78
[8]: https://www.rfc-editor.org/info/bcp79
[9]: https://www.ietf.org/tools/idnits/
[10]: https://www.rfc-editor.org/rfc/rfc3967.html
[11]: https://www.rfc-editor.org/info/bcp97
[12]: https://www.rfc-editor.org/rfc/rfc8126.html



2022-05-19
10 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-10.txt
2022-05-19
10 (System) New version approved
2022-05-19
10 (System) Request for posting confirmation emailed to previous authors: Ana Minaburo , Laurent Toutain , lpwan-chairs@ietf.org
2022-05-19
10 Laurent Toutain Uploaded new revision
2022-05-17
09 Pascal Thubert IETF WG state changed to WG Consensus: Waiting for Write-Up from In WG Last Call
2022-05-17
09 Pascal Thubert Tag Doc Shepherd Follow-up Underway set.
2022-05-16
09 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-09.txt
2022-05-16
09 (System) New version approved
2022-05-16
09 (System) Request for posting confirmation emailed to previous authors: Ana Minaburo , Laurent Toutain , lpwan-chairs@ietf.org
2022-05-16
09 Laurent Toutain Uploaded new revision
2022-05-13
08 Pascal Thubert
# Document Shepherd Writeup


Technical Summary:


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and fragmentation rules …
# Document Shepherd Writeup


Technical Summary:


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and fragmentation rules for RFC 8724 and RFC 8824


Working Group Summary:

This document was discussed at a number of LPWAN interim meetings. There was never any form of opposition against it. The way to allow extensions in particular with the upcoming "compound ack" spec was studied.


Personnel:
Document Shepherd:  Pascal Thubert
Responsible Area Director: Eric Vyncke


Template:



*This version is dated 8 April 2022.*



## 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's more of the former. LPWAN has a core of 6-8 people that are very active and implement open source code as well as proprietary stacks for LoRA and Sigfox.

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

  There was a global approval; One slight issue was heavily discussed: the size of a timer in seconds, 32 vs. 64 bits. The RFC does not constrain the durection of the timer. On paper, all the proposed representations (string and cbor) do not need to know so it should not matter. But the implementer may depend on the YANG model to type his variables. The proposal was made to replace the 64 bits by a mantissa (2 bytes) and a 1 byte exponent of 2. A default value for the exponent (13, with the base unit in microseconds) can be omitted in the air, allowing 2 octets to indicate from 1s to 18H.

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)?

    There are at least 2 known implementations, by Acklio and in openSCHC.


### Additional Reviews

5. Does this document need review from other IETF working groups or external
  organizations? Have those reviews occurred?

  No such thing

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 was reviewed by a YANG doctor (https://datatracker.ietf.org/doc/review-ietf-lpwan-schc-yang-data-model-04-yangdoctors-early-moberg-2021-04-13/). It was edited by a lead SCHC author and reviewed by the SCHC editor.

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]?

  Yes, the document was validated through IETF YANG tools including pyang


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.

  There's only YANG

### 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?

  Certainly.

10. Several IETF Areas have assembled [lists of common issues that their
    reviewers encounter][6]. Do any such issues remain that would merit specific
    attention from subsequent reviews?

    I could not find one relevant here

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


Proposed Standard, which makes sense for such content. Datatracker state attributes

12. Has the interested community confirmed that any and all appropriate IPR
    disclosures required by [BCP 78][7] and [BCP 79][8] have been filed? If not,
    explain why. If yes, summarize any discussion and conclusion regarding the
    intellectual property rights (IPR) disclosures, including links to relevant
    emails.

    Yes and there' s no IPR against this document.

13. Has each Author or Contributor confirmed their willingness to be listed as
    such? If the number of Authors/Editors on the front page is greater than 5,
    please provide a justification.

    All good on that front

14. Identify any remaining I-D nits in this document. (See [the idnits tool][9]
    and the checkbox items found in Guidelines to Authors of Internet-Drafts).
    Simply running the idnits tool is not enough; please review the entire
    guidelines document.

    All good now.

15. Should any informative references be normative or vice-versa?

    All good

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

    none

17. Are there any normative downward references (see [RFC 3967][10],
    [BCP 97][11])? If so, list them.

    none

18. Are there normative references to documents that are not ready for
    advancement or are otherwise in an unclear state? If they exist, what is the
    plan for their completion?

    none

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][12]).

No IANA, this speification is purely for the YANG model, no new functionality or format.

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.

    none

[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://trac.ietf.org/trac/ops/wiki/yang-review-tools
[5]: https://www.rfc-editor.org/rfc/rfc8342.html
[6]: https://trac.ietf.org/trac/iesg/wiki/ExpertTopics
[7]: https://www.rfc-editor.org/info/bcp78
[8]: https://www.rfc-editor.org/info/bcp79
[9]: https://www.ietf.org/tools/idnits/
[10]: https://www.rfc-editor.org/rfc/rfc3967.html
[11]: https://www.rfc-editor.org/info/bcp97
[12]: https://www.rfc-editor.org/rfc/rfc8126.html



2022-05-13
08 Pascal Thubert
# Document Shepherd Writeup


Technical Summary:


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and fragmentation rules …
# Document Shepherd Writeup


Technical Summary:


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and fragmentation rules for RFC 8724 and RFC 8824


Working Group Summary:

This document was discussed at a number of LPWAN interim meetings. There was never any form of opposition against it. The way to allow extensions in particular with the upcoming "compound ack" spec was studied.


Personnel:
Document Shepherd:  Pascal Thubert
Responsible Area Director: Eric Vyncke


Template:



*This version is dated 8 April 2022.*



## 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's more of the former. LPWAN has a core of 6-8 people that are very active and implement open source code as well as proprietary stacks for LoRA and Sigfox.

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

  Here was a global approval; One slight issue was heavily discussed: the size of a timer in seconds, 32 vs. 64 bits. The RFC does not constrain the durection of the timer. On paper, all the proposed representations (string and cbor) do not need to know so it should not matter. But the implementer may depend on the YANG model to type his variables. The proposal was made to replace the 64 bits by a mantissa (2 bytes) and a 1 byte exponent of 2. A default value for the exponent (13, with the base unit in microseconds) can be omitted in the air, allowing 2 octets to indicate from 1s to 18H.

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)?

    There are at least 2 known implementations, by Acklio and in openSCHC.


### Additional Reviews

5. Does this document need review from other IETF working groups or external
  organizations? Have those reviews occurred?

  No such thing

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 was reviewed by a YANG doctor (https://datatracker.ietf.org/doc/review-ietf-lpwan-schc-yang-data-model-04-yangdoctors-early-moberg-2021-04-13/). It was edited by a lead SCHC author and reviewed by the SCHC editor.

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]?

  Yes, the document was validated through IETF YANG tools including pyang


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.

  There's only YANG

### 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?

  Certainly.

10. Several IETF Areas have assembled [lists of common issues that their
    reviewers encounter][6]. Do any such issues remain that would merit specific
    attention from subsequent reviews?

    I could not find one relevant here

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


Proposed Standard, which makes sense for such content. Datatracker state attributes

12. Has the interested community confirmed that any and all appropriate IPR
    disclosures required by [BCP 78][7] and [BCP 79][8] have been filed? If not,
    explain why. If yes, summarize any discussion and conclusion regarding the
    intellectual property rights (IPR) disclosures, including links to relevant
    emails.

    Yes and there' s no IPR against this document.

13. Has each Author or Contributor confirmed their willingness to be listed as
    such? If the number of Authors/Editors on the front page is greater than 5,
    please provide a justification.

    All good on that front

14. Identify any remaining I-D nits in this document. (See [the idnits tool][9]
    and the checkbox items found in Guidelines to Authors of Internet-Drafts).
    Simply running the idnits tool is not enough; please review the entire
    guidelines document.

    All good now.

15. Should any informative references be normative or vice-versa?

    All good

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

    none

17. Are there any normative downward references (see [RFC 3967][10],
    [BCP 97][11])? If so, list them.

    none

18. Are there normative references to documents that are not ready for
    advancement or are otherwise in an unclear state? If they exist, what is the
    plan for their completion?

    none

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][12]).

No IANA, this speification is purely for the YANG model, no new functionality or format.

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.

    none

[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://trac.ietf.org/trac/ops/wiki/yang-review-tools
[5]: https://www.rfc-editor.org/rfc/rfc8342.html
[6]: https://trac.ietf.org/trac/iesg/wiki/ExpertTopics
[7]: https://www.rfc-editor.org/info/bcp78
[8]: https://www.rfc-editor.org/info/bcp79
[9]: https://www.ietf.org/tools/idnits/
[10]: https://www.rfc-editor.org/rfc/rfc3967.html
[11]: https://www.rfc-editor.org/info/bcp97
[12]: https://www.rfc-editor.org/rfc/rfc8126.html



2022-05-13
08 Pascal Thubert
# Document Shepherd Writeup
As required by RFC 4858, this is the current template for the Document
Shepherd Write-Up. Changes are expected over time. …
# Document Shepherd Writeup
As required by RFC 4858, this is the current template for the Document
Shepherd Write-Up. Changes are expected over time.

This version is dated 1 November 2019.

(1) What type of RFC is being requested (BCP, Proposed Standard, Internet Standard, Informational, Experimental, or Historic)? Why is this the proper type of RFC? Is this type of RFC indicated in the title page header?

Proposed Standard, which makes sense for such content

(2) The IESG approval announcement includes a Document Announcement Write-Up. Please provide such a Document Announcement Write-Up. Recent examples can be found in the "Action" announcements for approved documents. The approval announcement contains the following sections:

Technical Summary:

Relevant content can frequently be found in the abstract and/or introduction of the document. If not, this may be an indication that there are deficiencies in the abstract or introduction.


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and fragmentation rules for RFC 8724 and RFC 8824


Working Group Summary:

This document was discussed at a number of LPWAN interim meetings. There was never any form of opposition against it. The way to allow extensions in particular with the upcoming "compound ack" spec was studied.

Document Quality:

The document  was reviewed by YANG doctor (https://datatracker.ietf.org/doc/review-ietf-lpwan-schc-yang-data-model-04-yangdoctors-early-moberg-2021-04-13/). It was edited by a lead SCHC author and reviewed by the SCHC editor.

Personnel:
Document Shepherd:  Pascal Thubert
Responsible Area Director: Eric Vyncke


*This version is dated 8 April 2022.*

Thank you for your service as a document shepherd. Among the responsibilities is
answering the questions in this writeup 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], and informally. You will need the cooperation of
authors 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?

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

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.)

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)?

### Additional Reviews

5. Does this document need review from other IETF working groups or external
  organizations? Have those reviews occurred?

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.

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]?

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.

### 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?

10. Several IETF Areas have assembled [lists of common issues that their
    reviewers encounter][6]. Do any such issues remain that would merit specific
    attention from subsequent reviews?

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

12. Has the interested community confirmed that any and all appropriate IPR
    disclosures required by [BCP 78][7] and [BCP 79][8] have been filed? If not,
    explain why. If yes, summarize any discussion and conclusion regarding the
    intellectual property rights (IPR) disclosures, including links to relevant
    emails.

13. Has each Author or Contributor confirmed their willingness to be listed as
    such? If the number of Authors/Editors on the front page is greater than 5,
    please provide a justification.

14. Identify any remaining I-D nits in this document. (See [the idnits tool][9]
    and the checkbox items found in Guidelines to Authors of Internet-Drafts).
    Simply running the idnits tool is not enough; please review the entire
    guidelines document.

15. Should any informative references be normative or vice-versa?

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

17. Are there any normative downward references (see [RFC 3967][10],
    [BCP 97][11])? If so, list them.

18. Are there normative references to documents that are not ready for
    advancement or are otherwise in an unclear state? If they exist, what is the
    plan for their completion?

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.

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][12]).

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.

[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://trac.ietf.org/trac/ops/wiki/yang-review-tools
[5]: https://www.rfc-editor.org/rfc/rfc8342.html
[6]: https://trac.ietf.org/trac/iesg/wiki/ExpertTopics
[7]: https://www.rfc-editor.org/info/bcp78
[8]: https://www.rfc-editor.org/info/bcp79
[9]: https://www.ietf.org/tools/idnits/
[10]: https://www.rfc-editor.org/rfc/rfc3967.html
[11]: https://www.rfc-editor.org/info/bcp97
[12]: https://www.rfc-editor.org/rfc/rfc8126.html

2022-05-06
08 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-08.txt
2022-05-06
08 (System) New version approved
2022-05-06
08 (System) Request for posting confirmation emailed to previous authors: Ana Minaburo , Laurent Toutain , lpwan-chairs@ietf.org
2022-05-06
08 Laurent Toutain Uploaded new revision
2022-03-07
07 Pascal Thubert
As required by RFC 4858, this is the current template for the Document
Shepherd Write-Up. Changes are expected over time.

This version is dated …
As required by RFC 4858, this is the current template for the Document
Shepherd Write-Up. Changes are expected over time.

This version is dated 1 November 2019.

(1) What type of RFC is being requested (BCP, Proposed Standard, Internet Standard, Informational, Experimental, or Historic)? Why is this the proper type of RFC? Is this type of RFC indicated in the title page header?

Proposed Standard, which makes sense for such content

(2) The IESG approval announcement includes a Document Announcement Write-Up. Please provide such a Document Announcement Write-Up. Recent examples can be found in the "Action" announcements for approved documents. The approval announcement contains the following sections:

Technical Summary:

Relevant content can frequently be found in the abstract and/or introduction of the document. If not, this may be an indication that there are deficiencies in the abstract or introduction.


  This document describes a YANG data model for the SCHC (Static  Context Header Compression) compression and fragmentation rules for RFC 8724 and RFC 8824


Working Group Summary:

This document was discussed at a number of LPWAN interim meetings. There was never any form of opposition against it. The way to allow extensions in particular with the upcoming "compound ack" spec was studied.

Document Quality:

The document  was reviewed by YANG doctor (https://datatracker.ietf.org/doc/review-ietf-lpwan-schc-yang-data-model-04-yangdoctors-early-moberg-2021-04-13/). It was edited by a lead SCHC author and reviewed by the SCHC editor.

Personnel:
Document Shepherd:  Pascal Thubert
Responsible Area Director: Eric Vyncke


(3) Briefly describe the review of this document that was performed by the Document Shepherd. If this version of the document is not ready for publication, please explain why the document is being forwarded to the IESG.

(4) Does the document Shepherd have any concerns about the depth or breadth of the reviews that have been performed?

(5) Do portions of the document need review from a particular or from broader perspective, e.g., security, operational complexity, AAA, DNS, DHCP, XML, or internationalization? If so, describe the review that took place.

(6) Describe any specific concerns or issues that the Document Shepherd has with this document that the Responsible Area Director and/or the IESG should be aware of? For example, perhaps he or she is uncomfortable with certain parts of the document, or has concerns whether there really is a need for it. In any event, if the WG has discussed those issues and has indicated that it still wishes to advance the document, detail those concerns here.

(7) Has each author confirmed that any and all appropriate IPR disclosures required for full conformance with the provisions of BCP 78 and BCP 79 have already been filed. If not, explain why?

(8) Has an IPR disclosure been filed that references this document? If so, summarize any WG discussion and conclusion regarding the IPR disclosures.

(9) How solid is the WG consensus behind this document? Does it represent the strong concurrence of a few individuals, with others being silent, or does the WG as a whole understand and agree with it?

(10) Has anyone threatened an appeal or otherwise indicated extreme discontent? If so, please summarise 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.)

(11) Identify any ID nits the Document Shepherd has found in this document. (See http://www.ietf.org/tools/idnits/ and the Internet-Drafts Checklist). Boilerplate checks are not enough; this check needs to be thorough.

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

(13) Have all references within this document been identified as either normative or informative?

(14) Are there normative references to documents that are not ready for advancement or are otherwise in an unclear state? If such normative references exist, what is the plan for their completion?

(15) Are there downward normative references (see RFC 3967)? If so, list these downward references to support the Area Director in the Last Call procedure.

(16) Will publication of this document change the status of any existing RFCs? Are those RFCs listed on the title page header, listed in the abstract, and discussed in the introduction? If the RFCs are not listed in the Abstract and Introduction, explain why, and point to the part of the document where the relationship of this document to the other RFCs is discussed. If this information is not in the document, explain why the WG considers it unnecessary.

(17) 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 protocol extensions that the document makes are associated with the appropriate reservations in IANA registries. Confirm that any referenced IANA registries have been clearly identified. Confirm that newly created IANA registries include a detailed specification of the initial contents for the registry, that allocations procedures for future registrations are defined, and a reasonable name for the new registry has been suggested (see RFC 8126).

(18) List any new IANA registries that require Expert Review for future allocations. Provide any public guidance that the IESG would find useful in selecting the IANA Experts for these new registries.

(19) Describe reviews and automated checks performed by the Document Shepherd to validate sections of the document written in a formal language, such as XML code, BNF rules, MIB definitions, YANG modules, etc.

(20) If the document contains a YANG module, has the module been checked with any of the recommended validation tools (https://trac.ietf.org/trac/ops/wiki/yang-review-tools) 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 RFC8342?

2022-03-07
07 Pascal Thubert Changed consensus to Yes from Unknown
2022-03-07
07 Pascal Thubert Intended Status changed to Proposed Standard from None
2022-03-07
07 Pascal Thubert Notification list changed to pascal.thubert@gmail.com because the document shepherd was set
2022-03-07
07 Pascal Thubert Document shepherd changed to Pascal Thubert
2022-02-28
07 Pascal Thubert IETF WG state changed to In WG Last Call from WG Document
2022-02-28
07 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-07.txt
2022-02-28
07 (System) New version approved
2022-02-28
07 (System) Request for posting confirmation emailed to previous authors: Ana Minaburo , Laurent Toutain , lpwan-chairs@ietf.org
2022-02-28
07 Laurent Toutain Uploaded new revision
2021-11-24
06 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-06.txt
2021-11-24
06 (System) New version approved
2021-11-24
06 (System) Request for posting confirmation emailed to previous authors: Ana Minaburo , Laurent Toutain , lpwan-chairs@ietf.org
2021-11-24
06 Laurent Toutain Uploaded new revision
2021-09-09
05 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-05.txt
2021-09-09
05 (System) New version approved
2021-09-09
05 (System) Request for posting confirmation emailed to previous authors: Ana Minaburo , Laurent Toutain , lpwan-chairs@ietf.org
2021-09-09
05 Laurent Toutain Uploaded new revision
2021-08-06
04 (System) Document has expired
2021-04-13
04 Carl Moberg Request for Early review by YANGDOCTORS Completed: On the Right Track. Reviewer: Carl Moberg. Sent review to list.
2021-02-15
04 Mehmet Ersue Request for Early review by YANGDOCTORS is assigned to Carl Moberg
2021-02-15
04 Mehmet Ersue Request for Early review by YANGDOCTORS is assigned to Carl Moberg
2021-02-15
04 Pascal Thubert Requested Early review by YANGDOCTORS
2021-02-02
04 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-04.txt
2021-02-02
04 (System) New version approved
2021-02-02
04 (System) Request for posting confirmation emailed to previous authors: Ana Minaburo , Laurent Toutain , lpwan-chairs@ietf.org
2021-02-02
04 Laurent Toutain Uploaded new revision
2021-01-11
03 (System) Document has expired
2020-07-10
03 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-03.txt
2020-07-10
03 (System) New version approved
2020-07-10
03 (System) Request for posting confirmation emailed to previous authors: Laurent Toutain , Ana Minaburo , lpwan-chairs@ietf.org
2020-07-10
03 Laurent Toutain Uploaded new revision
2020-05-19
02 Éric Vyncke Shepherding AD changed to Éric Vyncke
2020-02-28
02 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-02.txt
2020-02-28
02 (System) New version approved
2020-02-28
02 (System) Request for posting confirmation emailed to previous authors: Laurent Toutain , Ana Minaburo , lpwan-chairs@ietf.org
2020-02-28
02 Laurent Toutain Uploaded new revision
2020-02-28
02 (System) Request for posting confirmation emailed to previous authors: Ana Minaburo , lpwan-chairs@ietf.org, Laurent Toutain
2020-02-28
02 Laurent Toutain Uploaded new revision
2020-01-23
01 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-01.txt
2020-01-23
01 (System) New version approved
2020-01-23
01 (System) Request for posting confirmation emailed to previous authors: Laurent Toutain , Ana Minaburo , lpwan-chairs@ietf.org
2020-01-23
01 Laurent Toutain Uploaded new revision
2019-10-25
00 (System) Document has expired
2019-07-10
00 Suresh Krishnan Shepherding AD changed to Suresh Krishnan
2019-04-23
00 Pascal Thubert This document now replaces draft-toutain-lpwan-schc-yang-data-model instead of None
2019-04-23
00 Laurent Toutain New version available: draft-ietf-lpwan-schc-yang-data-model-00.txt
2019-04-23
00 (System) WG -00 approved
2019-04-21
00 Laurent Toutain Set submitter to "Laurent Toutain ", replaces to (none) and sent approval email to group chairs: lpwan-chairs@ietf.org
2019-04-21
00 Laurent Toutain Uploaded new revision