Internet-Draft | SCHC Sid Allocation | March 2023 |
Minaburo & Toutain | Expires 1 October 2023 | [Page] |
blabla¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 1 October 2023.¶
Copyright (c) 2023 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
RFC9363 defines a YANG Data Model for SCHC rules. [I-D.ietf-core-sid] specifies the process for SID allocation and management. This document discuss of the SID allocation for RFC9363.¶
The version @2023-01-18 of the SCHC YANG Data Model published in the RFC 9363 contains 136 SIDs (92 for identities, 2 for features and 42 for data). [I-D.ietf-core-sid] indicates that the SID range for the YANG Data Model specified in RFC is between 1000 and 59 000 and that the maximum request pool SHOULD NOT exceed 1000. The draft also gives some pre allocated values.¶
Since SIDs will be used either to represent unique identity contained in the data model and also leaves (data) forming this data model, it could be wise to distinguish between identifiers and data.¶
Data structures are delta encoded and included as a CBOR element, the size depends on the value. Deltas between -24 and +23 are encoded on a single byte. Deltas between -256 and +255 use 2 bytes and larger values corresponding to the RFC SID range will be encoded into 3 bytes. To optimize the CORECONF representation delta should be smaller as possible for the more frequent leaves.¶
On the other hand identities are included in the CORECONF representation and for the RFC SID range the size is constant and equal to 3 bytes.¶
CORECONF {5095: {1: [{4: [{1: 5015, 5: 5018, 6: 5068, 7: 4, 8: 1, 9: 5083, 13: [{1: 0, 2: h'06'}]}, {1: 5015, 5: 5018, 6: 2000003, 7: 8, 8: 1, 9: 5083, 13: [{1: 0, 2: h'00'}]}] }]} } RESTCONF {"ietf-schc:schc": {"rule": [{"entry": [{"comp-decomp-action": "ietf-schc:cda-not-sent", "direction-indicator": "ietf-schc:di-bidirectional", "field-id": "ietf-schc:fid-ipv6-version", "field-length": 4, "field-position": 1, "matching-operator": "ietf-schc:mo-equal", "target-value": [{"index": 0, "value": "Bg=="}]}, {"comp-decomp-action": "ietf-schc:cda-not-sent", "direction-indicator": "ietf-schc:di-bidirectional", "field-id": "ietf-schc-oam:fid-icmpv6-type", "field-length": 8, "field-position": 1, "matching-operator": "ietf-schc:mo-equal", "target-value": [{"index": 0, "value": "gA=="}]} ] }]} }
The example in Figure 1 gives a CORECONF structure transposed the CBOR diagnostic notation and its equivalent in RESTCONF with JSON. For readability and compactness, this example is edited and do not encode a full rule as defined in RFC9363.¶
The default SID numbering produced by pyang is used, starting from 5000 for SCHC Data Model defined in RFC9363 and 2000000 for an experimental module for OAM.¶
We can see the delta encoding. The first SID 5095 represents "ietf-schc:schc". "/ietf-schc:schc/rule" which is coded with a +1 since SID 5096 has been assigned. "/ietf-schc:schc/rule/entry" is coded with a delta of 4. Then a list of Field Description follows. +1 represents the leaf "ietf-schc:schc/rule/entry/comp-decomp-action" and the value assigned to that key contains the SID of "ietf-schc:cda-not-sent" identity.¶
Note that the second element contains a "field-id" belonging to the "ietf-schc-oam" module and the associate SID is 2000003.¶
The SCHC YANG Data Model defined in RFC 9363 will probably be augmented, to include for instance access control data. To keep a compact representation, delta values must be kept as small as possible. The LPWAN working group should not use the automatic SID numbering and provide a more optimal allocation scheme for augmentation of the SCHC YANG Data Model.¶
A first recommendation is to avoid merging data and identity in order to limit the delta encoding. The distance between these two sections can be 255 SID to allow deltas on 2 bytes.¶
The second recommendation is to leave some unused SID around SCHC rules to allow augmentation.¶
To study the impact of SIDs size and delta size, we will take three scenarii, which cover the original Data Model defined in [RFC9363] and some augmentations, rules regarding these scenarii are listed in the annex:¶
For this three group of Set of Rule, we applied four different allocation methods for the SIDs:¶
The following table shows the results:¶
+------------+------------+------------+------------+------------+--------+ | | million | IETF | IETF | IESG | JSON | | | | separate | grouped | (dream) | | +------------+------------+------------+------------+------------+--------+ | sor-9363 | 2194 | 1740 (-454)| 1721 (-19) | 1586 (-135)| 15388 | +------------+------------+------------+------------+------------+--------+ | sor-oam | 2841 | 2265 (-576)| 2243 (-22) | 2064 (-179)| 19871 | +------------+------------+------------+------------+------------+--------+ | sor-oam+ac | 2925 | 2321 (-604)| 2271 (-50) | 2092 (-179)| 20686 |’ +------------+------------+------------+------------+------------+--------+
The most important result, is the factor 10 between CBOR and JSON (without indentation) size which proves the efficiency of encoding. 2 kilo-byte of information to represent 8 rules (3 compression and 5 fragmentation rules).¶
The IETF-grouped has a impact on the rule size, even when no augmentation is perform. This is the case for rfc9363 compatible rules and OAM addition. Figure Figure 3 shows the alphabetical order allocation with pyang.¶
5095 data /ietf-schc:schc 5096 data /ietf-schc:schc/rule 5097 data /ietf-schc:schc/rule/ack-behavior 5098 data /ietf-schc:schc/rule/direction 5099 data /ietf-schc:schc/rule/dtag-size 5100 data /ietf-schc:schc/rule/entry 5101 data /ietf-schc:schc/rule/entry/comp-decomp-action 5102 data /ietf-schc:schc/rule/entry/comp-decomp-action-value 5103 data /ietf-schc:schc/rule/entry/comp-decomp-action-value/index 5104 data /ietf-schc:schc/rule/entry/comp-decomp-action-value/value 5105 data /ietf-schc:schc/rule/entry/direction-indicator 5106 data /ietf-schc:schc/rule/entry/field-id 5107 data /ietf-schc:schc/rule/entry/field-length 5108 data /ietf-schc:schc/rule/entry/field-position 5109 data /ietf-schc:schc/rule/entry/matching-operator 5110 data /ietf-schc:schc/rule/entry/matching-operator-value 5111 data /ietf-schc:schc/rule/entry/matching-operator-value/index 5112 data /ietf-schc:schc/rule/entry/matching-operator-value/value 5113 data /ietf-schc:schc/rule/entry/target-value 5114 data /ietf-schc:schc/rule/entry/target-value/index 5115 data /ietf-schc:schc/rule/entry/target-value/value 5116 data /ietf-schc:schc/rule/fcn-size 5117 data /ietf-schc:schc/rule/fragmentation-mode 5118 data /ietf-schc:schc/rule/inactivity-timer ------ 23 delta limit 5119 data /ietf-schc:schc/rule/inactivity-timer/ticks-duration 5120 data /ietf-schc:schc/rule/inactivity-timer/ticks-numbers 5121 data /ietf-schc:schc/rule/l2-word-size 5122 data /ietf-schc:schc/rule/max-ack-requests 5123 data /ietf-schc:schc/rule/max-interleaved-frames 5124 data /ietf-schc:schc/rule/maximum-packet-size 5125 data /ietf-schc:schc/rule/rcs-algorithm 5126 data /ietf-schc:schc/rule/retransmission-timer 5127 data /ietf-schc:schc/rule/retransmission-timer/ticks-duration 5128 data /ietf-schc:schc/rule/retransmission-timer/ticks-numbers 5129 data /ietf-schc:schc/rule/rule-id-length 5130 data /ietf-schc:schc/rule/rule-id-value 5131 data /ietf-schc:schc/rule/rule-nature 5132 data /ietf-schc:schc/rule/tile-in-all-1 5133 data /ietf-schc:schc/rule/tile-size 5134 data /ietf-schc:schc/rule/w-size 5135 data /ietf-schc:schc/rule/window-size
"Rule-id-value", "rule-id-length", "rule-nature" present in all rules have a delta higher than 23. On the other hand, other elements such are matching-operator-value or comp-decomp-action-value which are not present in all rules have a smaller delta. Figure {#Allocation} gives the manual SID allocation used in this document. This lead to a reduction of about 20 bytes (a mean of 5 bytes for the 8 rules in the example) when no augmentation is perform. In case of augmentation with the last example including access control, this leads to 50 bytes.¶
Manual allocation allows also to use some other space, the last scenario takes 10 values (1%) from the IESG space for the most frequent identity.¶
The allocation process proposed in [I-D.ietf-core-sid] is slightly enhanced:¶
The result is a better allocation of the space, [I-D.ietf-core-sid] proposes a minimum of 50 SIDs per module, but looking at the existing models, the effective number is smaller. Using a common pool, allows a better utilization.¶
[ { "RuleID": 5, "RuleIDLength": 3, "Compression": [ {"FID": "IPV6.VER", "TV": 6, "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.TC", "TV": 1, "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.FL", "TV": 144470, "MO": "ignore","CDA": "not-sent"}, {"FID": "IPV6.LEN", "MO": "ignore","CDA": "compute-length"}, {"FID": "IPV6.NXT", "TV": 17, "MO": "ignore", "CDA": "value-sent"}, {"FID": "IPV6.HOP_LMT", "TV" : 255,"MO": "ignore","CDA": "not-sent"}, {"FID": "IPV6.DEV_PREFIX","TV": ["2001:db8::/64", "fe80::/64", "2001:0420:c0dc:1002::/64" ], "MO": "match-mapping","CDA": "mapping-sent"}, {"FID": "IPV6.DEV_IID", "TV": "::1","MO": "equal","CDA": "DEVIID"}, {"FID": "IPV6.APP_PREFIX","TV": [ "2001:db8:1::/64", "fe80::/64", "2404:6800:4004:818::/64" ], "MO": "match-mapping","CDA": "mapping-sent"}, {"FID": "IPV6.APP_IID", "TV": 2,"MO": "equal","CDA": "not-sent"}, {"FID": "UDP.DEV_PORT", "TV": 5680,"MO": "MSB", "MO.VAL": 12, "CDA": "LSB"}, {"FID": "UDP.APP_PORT", "TV": 5680,"MO": "MSB", "MO.VAL": 12, "CDA" : "LSB"}, {"FID": "UDP.LEN", "TV": 0, "MO": "ignore","CDA": "compute-length"}, {"FID": "UDP.CKSUM", "TV": 0, "MO": "ignore","CDA": "compute-checksum"}, {"FID": "COAP.VER", "TV": 1, "MO": "equal","CDA": "not-sent"}, {"FID": "COAP.TYPE", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.TKL", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.CODE", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.MID", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.TOKEN", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.Uri-Path", "FL": "var", "FP": 1, "DI": "UP", "TV": "foo","MO": "equal","CDA": "not-sent"}, {"FID": "COAP.Uri-Path", "FL": "var", "FP": 2, "DI": "UP", "TV": ["bar", "toto"] ,"MO": "match-mapping","CDA": "mapping-sent"}, {"FID": "COAP.Uri-Path", "FL": "var", "FP": 3, "DI": "UP", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.Uri-Path", "FL": "var", "FP": 4, "DI": "UP", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.Uri-Query", "FL": "var", "FP": 1, "DI": "UP", "TV":"k=", "MO": "MSB", "MO.VAL": 16, "CDA": "LSB"}, {"FID": "COAP.Content-Format", "DI": "DW", "TV": 30, "MO": "equal", "CDA": "not-sent"} ] },{ "RuleID": 1, "RuleIDLength": 3, "Fragmentation" : { "FRMode": "AckOnError", "FRDirection" : "DW", "FRModeProfile": { "dtagSize": 2, "WSize": 7, "FCNSize": 3, "ackBehavior": "afterAll1", "tileSize": 17, "MICAlgorithm": "RCS_RFC8724", "MICWordSize": 8, "L2WordSize": 8, "lastTileInAll1": false } } },{ "RuleID": 2, "RuleIDLength": 3, "Fragmentation": { "FRMode": "AckOnError", "FRDirection" : "UP", "FRModeProfile": { "dtagSize": 2, "WSize": 7, "FCNSize": 3, "ackBehavior": "afterAll1", "tileSize": 16, "MICAlgorithm": "RCS_RFC8724", "MICWordSize": 8, "L2WordSize": 8, "lastTileInAll1": false } } },{ "RuleID": 3, "RuleIDLength": 3, "Fragmentation": { "FRMode": "NoAck", "FRDirection" : "DW", "FRModeProfile": { "dtagSize": 2, "FCNSize": 3, "MICAlgorithm": "RCS_RFC8724", "MICWordSize": 8, "L2WordSize": 8 } } },{ "RuleID": 4, "RuleIDLength": 3, "Fragmentation": { "FRMode": "NoAck", "FRDirection" : "UP", "FRModeProfile": { "dtagSize": 2, "FCNSize": 3 } } },{ "RuleID": 7, "RuleIDLength": 3, "Fragmentation": { "FRMode": "AckAlways", "FRDirection" : "UP", "FRModeProfile": { "dtagSize": 2, "FCNSize": 3, "WSize" : 1, "maxRetry" : 4 } } },{ "RuleID": 100, "RuleIDLength": 8, "Description": "for CORECONF Traffic, FETCH/iPATCH query from core to device: Query and Answer", "Compression": [ {"FID": "IPV6.VER", "TV": 6, "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.TC", "TV": 1, "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.FL", "TV": 144470, "MO": "ignore","CDA": "not-sent"}, {"FID": "IPV6.LEN", "MO": "ignore", "CDA": "compute-length"}, {"FID": "IPV6.NXT", "TV": 17, "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.HOP_LMT", "TV" : 255,"MO": "ignore","CDA": "not-sent"}, {"FID": "IPV6.DEV_PREFIX","TV": "fe80::/64", "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.DEV_IID", "TV": "::2","MO": "equal","CDA": "not-sent"}, {"FID": "IPV6.APP_PREFIX", "TV": "fe80::/64", "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.APP_IID", "TV": "::1","MO": "equal","CDA": "not-sent"}, {"FID": "UDP.DEV_PORT", "TV": 5683,"MO": "equal", "CDA": "not-sent"}, {"FID": "UDP.APP_PORT", "TV": 105683,"MO": "equal", "CDA": "not-sent"}, {"FID": "UDP.LEN", "MO": "ignore","CDA": "compute-length"}, {"FID": "UDP.CKSUM", "MO": "ignore","CDA": "compute-checksum"}, {"FID": "COAP.VER", "TV": 1, "MO": "equal","CDA": "not-sent"}, {"FID": "COAP.TYPE", "DI": "DW", "TV": 0, "MO": "equal","CDA": "not-sent"}, {"FID": "COAP.TYPE", "DI": "UP", "TV": 69, "MO": "equal","CDA": "not-sent"}, {"FID": "COAP.TKL", "TV" : 0, "MO": "equal","CDA": "not-sent"}, {"FID": "COAP.CODE", "DI": "UP", "TV": [5, 7], "MO": "match-mapping","CDA": "mapping-sent"}, {"FID": "COAP.CODE", "DI": "DW", "TV": [68, 69], "MO": "match-mapping","CDA": "mapping-sent"}, {"FID": "COAP.MID", "TV": 0, "MO": "MSB", "MO.VAL": 9, "CDA": "LSB"}, {"FID": "COAP.Uri-Path", "FL": 8, "FP": 1, "DI": "DW", "TV": "c","MO": "equal","CDA": "not-sent"}, {"FID": "COAP.Content-Format", "DI": "BI", "TV": 140, "MO": "equal", "CDA": "not-sent"} ] } ]
[ { "RuleID": 5, "RuleIDLength": 3, "Compression": [ {"FID": "IPV6.VER", "TV": 6, "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.TC", "TV": 1, "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.FL", "TV": 144470, "MO": "ignore","CDA": "not-sent"}, {"FID": "IPV6.LEN", "MO": "ignore","CDA": "compute-length"}, {"FID": "IPV6.NXT", "TV": 17, "MO": "ignore", "CDA": "value-sent"}, {"FID": "IPV6.HOP_LMT", "TV" : 255,"MO": "ignore","CDA": "not-sent"}, {"FID": "IPV6.DEV_PREFIX","TV": ["2001:db8::/64", "fe80::/64", "2001:0420:c0dc:1002::/64" ], "MO": "match-mapping","CDA": "mapping-sent"}, {"FID": "IPV6.DEV_IID", "TV": "::1","MO": "equal","CDA": "DEVIID"}, {"FID": "IPV6.APP_PREFIX","TV": [ "2001:db8:1::/64", "fe80::/64", "2404:6800:4004:818::/64" ], "MO": "match-mapping","CDA": "mapping-sent"}, {"FID": "IPV6.APP_IID", "TV": 2,"MO": "equal","CDA": "not-sent"}, {"FID": "UDP.DEV_PORT", "TV": 5680,"MO": "MSB", "MO.VAL": 12, "CDA": "LSB"}, {"FID": "UDP.APP_PORT", "TV": 5680,"MO": "MSB", "MO.VAL": 12, "CDA" : "LSB"}, {"FID": "UDP.LEN", "TV": 0, "MO": "ignore","CDA": "compute-length"}, {"FID": "UDP.CKSUM", "TV": 0, "MO": "ignore","CDA": "compute-checksum"}, {"FID": "COAP.VER", "TV": 1, "MO": "equal","CDA": "not-sent"}, {"FID": "COAP.TYPE", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.TKL", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.CODE", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.MID", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.TOKEN", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.Uri-Path", "FL": "var", "FP": 1, "DI": "UP", "TV": "foo","MO": "equal","CDA": "not-sent"}, {"FID": "COAP.Uri-Path", "FL": "var", "FP": 2, "DI": "UP", "TV": ["bar", "toto"] ,"MO": "match-mapping","CDA": "mapping-sent"}, {"FID": "COAP.Uri-Path", "FL": "var", "FP": 3, "DI": "UP", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.Uri-Path", "FL": "var", "FP": 4, "DI": "UP", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.Uri-Query", "FL": "var", "FP": 1, "DI": "UP", "TV":"k=", "MO": "MSB", "MO.VAL": 16, "CDA": "LSB"}, {"FID": "COAP.Content-Format", "DI": "DW", "TV": 30, "MO": "equal", "CDA": "not-sent"} ] },{ "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:db8::/64", "fe80::/64", "2001:0420:c0dc:1002::/64" ], "MO": "match-mapping","CDA": "mapping-sent"}, {"FID": "IPV6.DEV_IID", "TV": "::79","MO": "equal","CDA": "DEVIID"}, {"FID": "IPV6.APP_PREFIX","TV": [ "2001:db8:1::/64", "fe80::/64", "2404:6800:4004:818::/64" ], "MO": "match-mapping","CDA": "mapping-sent"}, {"FID": "IPV6.APP_IID", "TV": 2004,"MO": "equal","CDA": "not-sent"}, {"FID": "ICMPV6.TYPE", "TV": 128,"MO": "equal","CDA": "not-sent"}, {"FID": "ICMPV6.CODE", "TV": 0, "MO": "equal","CDA": "not-sent"}, {"FID": "ICMPV6.CKSUM", "TV": 0, "MO": "ignore","CDA": "compute-checksum"}, {"FID": "ICMPV6.IDENT", "TV": 0,"MO": "ignore","CDA": "value-sent"}, {"FID": "ICMPV6.SEQNO", "TV": 0,"MO": "ignore","CDA": "value-sent"} ] },{ "RuleID": 1, "RuleIDLength": 3, "Fragmentation" : { "FRMode": "AckOnError", "FRDirection" : "DW", "FRModeProfile": { "dtagSize": 2, "WSize": 7, "FCNSize": 3, "ackBehavior": "afterAll1", "tileSize": 17, "MICAlgorithm": "RCS_RFC8724", "MICWordSize": 8, "L2WordSize": 8, "lastTileInAll1": false } } },{ "RuleID": 2, "RuleIDLength": 3, "Fragmentation": { "FRMode": "AckOnError", "FRDirection" : "UP", "FRModeProfile": { "dtagSize": 2, "WSize": 7, "FCNSize": 3, "ackBehavior": "afterAll1", "tileSize": 16, "MICAlgorithm": "RCS_RFC8724", "MICWordSize": 8, "L2WordSize": 8, "lastTileInAll1": false } } },{ "RuleID": 3, "RuleIDLength": 3, "Fragmentation": { "FRMode": "NoAck", "FRDirection" : "DW", "FRModeProfile": { "dtagSize": 2, "FCNSize": 3, "MICAlgorithm": "RCS_RFC8724", "MICWordSize": 8, "L2WordSize": 8 } } },{ "RuleID": 4, "RuleIDLength": 3, "Fragmentation": { "FRMode": "NoAck", "FRDirection" : "UP", "FRModeProfile": { "dtagSize": 2, "FCNSize": 3 } } },{ "RuleID": 7, "RuleIDLength": 3, "Fragmentation": { "FRMode": "AckAlways", "FRDirection" : "UP", "FRModeProfile": { "dtagSize": 2, "FCNSize": 3, "WSize" : 1, "maxRetry" : 4 } } },{ "RuleID": 100, "RuleIDLength": 8, "Description": "for CORECONF Traffic, FETCH/iPATCH query from core to device: Query and Answer", "Compression": [ {"FID": "IPV6.VER", "TV": 6, "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.TC", "TV": 1, "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.FL", "TV": 144470, "MO": "ignore","CDA": "not-sent"}, {"FID": "IPV6.LEN", "MO": "ignore", "CDA": "compute-length"}, {"FID": "IPV6.NXT", "TV": 17, "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.HOP_LMT", "TV" : 255,"MO": "ignore","CDA": "not-sent"}, {"FID": "IPV6.DEV_PREFIX","TV": "fe80::/64", "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.DEV_IID", "TV": "::2","MO": "equal","CDA": "not-sent"}, {"FID": "IPV6.APP_PREFIX", "TV": "fe80::/64", "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.APP_IID", "TV": "::1","MO": "equal","CDA": "not-sent"}, {"FID": "UDP.DEV_PORT", "TV": 5683,"MO": "equal", "CDA": "not-sent"}, {"FID": "UDP.APP_PORT", "TV": 105683,"MO": "equal", "CDA": "not-sent"}, {"FID": "UDP.LEN", "MO": "ignore","CDA": "compute-length"}, {"FID": "UDP.CKSUM", "MO": "ignore","CDA": "compute-checksum"}, {"FID": "COAP.VER", "TV": 1, "MO": "equal","CDA": "not-sent"}, {"FID": "COAP.TYPE", "DI": "DW", "TV": 0, "MO": "equal","CDA": "not-sent"}, {"FID": "COAP.TYPE", "DI": "UP", "TV": 69, "MO": "equal","CDA": "not-sent"}, {"FID": "COAP.TKL", "TV" : 0, "MO": "equal","CDA": "not-sent"}, {"FID": "COAP.CODE", "DI": "UP", "TV": [5, 7], "MO": "match-mapping","CDA": "mapping-sent"}, {"FID": "COAP.CODE", "DI": "DW", "TV": [68, 69], "MO": "match-mapping","CDA": "mapping-sent"}, {"FID": "COAP.MID", "TV": 0, "MO": "MSB", "MO.VAL": 9, "CDA": "LSB"}, {"FID": "COAP.Uri-Path", "FL": 8, "FP": 1, "DI": "DW", "TV": "c","MO": "equal","CDA": "not-sent"}, {"FID": "COAP.Content-Format", "DI": "BI", "TV": 140, "MO": "equal", "CDA": "not-sent"} ] } ]
[ {"access-right" : "modify-existing-element"}, { "RuleID": 5, "RuleIDLength": 3, "access-right" : "modify-existing-element", "Compression": [ {"FID": "IPV6.VER", "TV": 6, "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.TC", "TV": 1, "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.FL", "TV": 144470, "MO": "ignore","CDA": "not-sent", "access-right" : "change-tv"}, {"FID": "IPV6.LEN", "MO": "ignore","CDA": "compute-length"}, {"FID": "IPV6.NXT", "TV": 17, "MO": "ignore", "CDA": "value-sent"}, {"FID": "IPV6.HOP_LMT", "TV" : 255,"MO": "ignore","CDA": "not-sent"}, {"FID": "IPV6.DEV_PREFIX","TV": ["2001:db8::/64", "fe80::/64", "2001:0420:c0dc:1002::/64" ], "MO": "match-mapping","CDA": "mapping-sent"}, {"FID": "IPV6.DEV_IID", "TV": "::1","MO": "equal","CDA": "DEVIID"}, {"FID": "IPV6.APP_PREFIX","TV": [ "2001:db8:1::/64", "fe80::/64", "2404:6800:4004:818::/64" ], "MO": "match-mapping","CDA": "mapping-sent", "access-right" : "change-tv"}, {"FID": "IPV6.APP_IID", "TV": 2,"MO": "equal","CDA": "not-sent"}, {"FID": "UDP.DEV_PORT", "TV": 5680,"MO": "MSB", "MO.VAL": 12, "CDA": "LSB", "access-right" : "change-tv"}, {"FID": "UDP.APP_PORT", "TV": 5680,"MO": "MSB", "MO.VAL": 12, "CDA" : "LSB"}, {"FID": "UDP.LEN", "TV": 0, "MO": "ignore","CDA": "compute-length"}, {"FID": "UDP.CKSUM", "TV": 0, "MO": "ignore","CDA": "compute-checksum"}, {"FID": "COAP.VER", "TV": 1, "MO": "equal","CDA": "not-sent"}, {"FID": "COAP.TYPE", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.TKL", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.CODE", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.MID", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.TOKEN", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.Uri-Path", "FL": "var", "FP": 1, "DI": "UP", "TV": "foo","MO": "equal","CDA": "not-sent"}, {"FID": "COAP.Uri-Path", "FL": "var", "FP": 2, "DI": "UP", "TV": ["bar", "toto"] ,"MO": "match-mapping","CDA": "mapping-sent", "access-right" : "change-tv"}, {"FID": "COAP.Uri-Path", "FL": "var", "FP": 3, "DI": "UP", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.Uri-Path", "FL": "var", "FP": 4, "DI": "UP", "MO": "ignore","CDA": "value-sent"}, {"FID": "COAP.Uri-Query", "FL": "var", "FP": 1, "DI": "UP", "TV":"k=", "MO": "MSB", "MO.VAL": 16, "CDA": "LSB"}, {"FID": "COAP.Content-Format", "DI": "DW", "TV": 30, "MO": "equal", "CDA": "not-sent"} ] },{ "RuleID": 6, "RuleIDLength": 3, "access-right" : "modify-existing-element", "Compression": [ {"FID": "IPV6.VER", "TV": 6, "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.TC", "TV": 0, "MO": "equal", "CDA": "not-sent", "access-right" : "change-tv"}, {"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:db8::/64", "fe80::/64", "2001:0420:c0dc:1002::/64" ], "MO": "match-mapping","CDA": "mapping-sent"}, {"FID": "IPV6.DEV_IID", "TV": "::79","MO": "equal","CDA": "DEVIID"}, {"FID": "IPV6.APP_PREFIX","TV": [ "2001:db8:1::/64", "fe80::/64", "2404:6800:4004:818::/64" ], "MO": "match-mapping","CDA": "mapping-sent"}, {"FID": "IPV6.APP_IID", "TV": 2004,"MO": "equal","CDA": "not-sent"}, {"FID": "ICMPV6.TYPE", "TV": 128,"MO": "equal","CDA": "not-sent"}, {"FID": "ICMPV6.CODE", "TV": 0, "MO": "equal","CDA": "not-sent"}, {"FID": "ICMPV6.CKSUM", "TV": 0, "MO": "ignore","CDA": "compute-checksum"}, {"FID": "ICMPV6.IDENT", "TV": 0,"MO": "ignore","CDA": "value-sent", "access-right" : "change-tv"}, {"FID": "ICMPV6.SEQNO", "TV": 0,"MO": "ignore","CDA": "value-sent"} ] },{ "RuleID": 1, "RuleIDLength": 3, "access-right" : "change-tv", "Fragmentation" : { "FRMode": "AckOnError", "FRDirection" : "DW", "FRModeProfile": { "dtagSize": 2, "WSize": 7, "FCNSize": 3, "ackBehavior": "afterAll1", "tileSize": 17, "MICAlgorithm": "RCS_RFC8724", "MICWordSize": 8, "L2WordSize": 8, "lastTileInAll1": false } } },{ "RuleID": 2, "RuleIDLength": 3, "Fragmentation": { "FRMode": "AckOnError", "FRDirection" : "UP", "FRModeProfile": { "dtagSize": 2, "WSize": 7, "FCNSize": 3, "ackBehavior": "afterAll1", "tileSize": 16, "MICAlgorithm": "RCS_RFC8724", "MICWordSize": 8, "L2WordSize": 8, "lastTileInAll1": false } } },{ "RuleID": 3, "RuleIDLength": 3, "Fragmentation": { "FRMode": "NoAck", "FRDirection" : "DW", "FRModeProfile": { "dtagSize": 2, "FCNSize": 3, "MICAlgorithm": "RCS_RFC8724", "MICWordSize": 8, "L2WordSize": 8 } } },{ "RuleID": 4, "RuleIDLength": 3, "Fragmentation": { "FRMode": "NoAck", "FRDirection" : "UP", "FRModeProfile": { "dtagSize": 2, "FCNSize": 3 } } },{ "RuleID": 7, "RuleIDLength": 3, "Fragmentation": { "FRMode": "AckAlways", "FRDirection" : "UP", "FRModeProfile": { "dtagSize": 2, "FCNSize": 3, "WSize" : 1, "maxRetry" : 4 } } },{ "RuleID": 100, "RuleIDLength": 8, "Description": "for CORECONF Traffic, FETCH/iPATCH query from core to device: Query and Answer", "access-right" : "change-tv", "Compression": [ {"FID": "IPV6.VER", "TV": 6, "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.TC", "TV": 1, "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.FL", "TV": 144470, "MO": "ignore","CDA": "not-sent", "access-right" : "change-tv"}, {"FID": "IPV6.LEN", "MO": "ignore", "CDA": "compute-length"}, {"FID": "IPV6.NXT", "TV": 17, "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.HOP_LMT", "TV" : 255,"MO": "ignore","CDA": "not-sent"}, {"FID": "IPV6.DEV_PREFIX","TV": "fe80::/64", "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.DEV_IID", "TV": "::2","MO": "equal","CDA": "not-sent"}, {"FID": "IPV6.APP_PREFIX", "TV": "fe80::/64", "MO": "equal", "CDA": "not-sent"}, {"FID": "IPV6.APP_IID", "TV": "::1","MO": "equal","CDA": "not-sent"}, {"FID": "UDP.DEV_PORT", "TV": 5683,"MO": "equal", "CDA": "not-sent", "access-right" : "change-tv"}, {"FID": "UDP.APP_PORT", "TV": 105683,"MO": "equal", "CDA": "not-sent"}, {"FID": "UDP.LEN", "MO": "ignore","CDA": "compute-length"}, {"FID": "UDP.CKSUM", "MO": "ignore","CDA": "compute-checksum"}, {"FID": "COAP.VER", "TV": 1, "MO": "equal","CDA": "not-sent"}, {"FID": "COAP.TYPE", "DI": "DW", "TV": 0, "MO": "equal","CDA": "not-sent"}, {"FID": "COAP.TYPE", "DI": "UP", "TV": 69, "MO": "equal","CDA": "not-sent"}, {"FID": "COAP.TKL", "TV" : 0, "MO": "equal","CDA": "not-sent"}, {"FID": "COAP.CODE", "DI": "UP", "TV": [5, 7], "MO": "match-mapping","CDA": "mapping-sent"}, {"FID": "COAP.CODE", "DI": "DW", "TV": [68, 69], "MO": "match-mapping","CDA": "mapping-sent"}, {"FID": "COAP.MID", "TV": 0, "MO": "MSB", "MO.VAL": 9, "CDA": "LSB"}, {"FID": "COAP.Uri-Path", "FL": 8, "FP": 1, "DI": "DW", "TV": "c","MO": "equal","CDA": "not-sent", "access-right" : "change-tv"}, {"FID": "COAP.Content-Format", "DI": "BI", "TV": 140, "MO": "equal", "CDA": "not-sent"} ] } ]
5000, 5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008, 5009, 5010, 5011, 5012, 5013, 5014, 5015, 5016, 5017, 5018, 5019, 5020, 5021, 5022,module,ietf-schc-access-control 5023,module,ietf-schc 5024,data,/ietf-schc:schc 5025, 5026, 5027, 5028, 5029, 5030, 5031, 5032, 5033, 5034, 5035, 5036, 5037, 5038, 5039, 5040, 5041, 5042,data,/ietf-schc:schc/ietf-schc-access-control:ac-modify-set-of-rules 5043,data,/ietf-schc:schc/rule/fcn-size 5044,data,/ietf-schc:schc/rule/w-size 5045,data,/ietf-schc:schc/rule/direction 5046,data,/ietf-schc:schc/rule/fragmentation-mode 5047,data,/ietf-schc:schc/rule 5048,data,/ietf-schc:schc/rule/rule-id-length 5049,data,/ietf-schc:schc/rule/rule-id-value 5050,data,/ietf-schc:schc/rule/rule-nature 5051,data,/ietf-schc:schc/rule/ietf-schc-access-control:ac-modify-rule 5052, 5053, 5054, 5055, 5056, 5057, 5058, 5059, 5060, 5061, 5062, 5063, 5064, 5065, 5066, 5067, 5068, 5069,data,/ietf-schc:schc/rule/entry/ietf-schc-access-control:ac-modify-field 5070,data,/ietf-schc:schc/rule/entry 5071,data,/ietf-schc:schc/rule/entry/comp-decomp-action 5072,data,/ietf-schc:schc/rule/entry/comp-decomp-action-value 5073,data,/ietf-schc:schc/rule/entry/comp-decomp-action-value/index 5074,data,/ietf-schc:schc/rule/entry/comp-decomp-action-value/value 5075,data,/ietf-schc:schc/rule/entry/direction-indicator 5076,data,/ietf-schc:schc/rule/entry/field-id 5077,data,/ietf-schc:schc/rule/entry/field-length 5078,data,/ietf-schc:schc/rule/entry/field-position 5079,data,/ietf-schc:schc/rule/entry/matching-operator 5080,data,/ietf-schc:schc/rule/entry/matching-operator-value 5081,data,/ietf-schc:schc/rule/entry/matching-operator-value/index 5082,data,/ietf-schc:schc/rule/entry/matching-operator-value/value 5083,data,/ietf-schc:schc/rule/entry/target-value 5084,data,/ietf-schc:schc/rule/entry/target-value/index 5085,data,/ietf-schc:schc/rule/entry/target-value/value 5086, 5087, 5088, 5089, 5090, 5091, 5092, 5093, 5094,data,/ietf-schc:schc/rule/ack-behavior 5095, 5096,data,/ietf-schc:schc/rule/dtag-size 5097, 5098, 5099,data,/ietf-schc:schc/rule/inactivity-timer 5100,data,/ietf-schc:schc/rule/inactivity-timer/ticks-duration 5101,data,/ietf-schc:schc/rule/inactivity-timer/ticks-numbers 5102,data,/ietf-schc:schc/rule/l2-word-size 5103,data,/ietf-schc:schc/rule/max-ack-requests 5104,data,/ietf-schc:schc/rule/max-interleaved-frames 5105,data,/ietf-schc:schc/rule/maximum-packet-size 5106,data,/ietf-schc:schc/rule/rcs-algorithm 5107,data,/ietf-schc:schc/rule/retransmission-timer 5108,data,/ietf-schc:schc/rule/retransmission-timer/ticks-duration 5109,data,/ietf-schc:schc/rule/retransmission-timer/ticks-numbers 5110,data,/ietf-schc:schc/rule/ietf-schc-oam:proxy-behavior 5111, 5112, 5113, 5114, 5115, 5116,data,/ietf-schc:schc/rule/tile-in-all-1 5117,data,/ietf-schc:schc/rule/tile-size 5118, 5119,data,/ietf-schc:schc/rule/window-size 5120, 5121, 5122, 5123, 5124, 5125, 5126, 5127, 5128, 5129, 5130, 5131, 5132, 5133, 5134, 5135, 5136, 5137, 5138, 5139, 5140, 5141, 5142, 5143, 5144, 5145, 5146, 5147, 5148, 5149, 5150, 5151, 5152, 5153, 5154, 5155, 5156, 5157, 5158, 5159, 5160, 5161, 5162, 5163, 5164, 5165, 5166, 5167, 5168, 5169, 5170, 5171, 5172, 5173, 5174, 5175, 5176, 5177, 5178, 5179, 5180, 5181, 5182, 5183, 5184, 5185, 5186, 5187, 5188, 5189, 5190, 5191, 5192, 5193, 5194, 5195, 5196, 5197, 5198, 5199, 5200, 5201, 5202, 5203, 5204, 5205, 5206, 5207, 5208, 5209, 5210, 5211, 5212, 5213, 5214, 5215, 5216, 5217, 5218, 5219, 5220, 5221, 5222, 5223, 5224, 5225, 5226, 5227, 5228, 5229, 5230, 5231, 5232, 5233, 5234, 5235, 5236, 5237, 5238, 5239, 5240, 5241, 5242, 5243, 5244, 5245, 5246, 5247, 5248, 5249, 5250, 5251, 5252, 5253, 5254, 5255, 5256, 5257, 5258, 5259, 5260, 5261, 5262, 5263, 5264, 5265, 5266, 5267, 5268, 5269, 5270, 5271, 5272, 5273, 5274, 5275, 5276, 5277, 5278, 5279, 5280, 5281, 5282, 5283, 5284, 5285, 5286, 5287, 5288, 5289, 5290, 5291, 5292, 5293, 5294, 5295, 5296, 5297, 5298, 5299, 5300,identity,ack-behavior-after-all-0 5301,identity,ack-behavior-after-all-1 5302,identity,ack-behavior-base-type 5303,identity,ack-behavior-by-layer2 5304,identity,all-1-data-base-type 5305,identity,all-1-data-no 5306,identity,all-1-data-sender-choice 5307,identity,all-1-data-yes 5308,identity,cda-appiid 5309,identity,cda-base-type 5310,identity,cda-compute 5311,identity,cda-deviid 5312,identity,cda-lsb 5313,identity,cda-mapping-sent 5314,identity,cda-not-sent 5315,identity,cda-value-sent 5316,identity,di-base-type 5317,identity,di-bidirectional 5318,identity,di-down 5319,identity,di-up 5320,identity,fid-base-type 5321,identity,fid-coap-base-type 5322,identity,fid-coap-code 5323,identity,fid-coap-code-class 5324,identity,fid-coap-code-detail 5325,identity,fid-coap-mid 5326,identity,fid-coap-option 5327,identity,fid-coap-option-accept 5328,identity,fid-coap-option-block1 5329,identity,fid-coap-option-block2 5330,identity,fid-coap-option-content-format 5331,identity,fid-coap-option-etag 5332,identity,fid-coap-option-if-match 5333,identity,fid-coap-option-if-none-match 5334,identity,fid-coap-option-location-path 5335,identity,fid-coap-option-location-query 5336,identity,fid-coap-option-max-age 5337,identity,fid-coap-option-no-response 5338,identity,fid-coap-option-observe 5339,identity,fid-coap-option-oscore-flags 5340,identity,fid-coap-option-oscore-kid 5341,identity,fid-coap-option-oscore-kidctx 5342,identity,fid-coap-option-oscore-piv 5343,identity,fid-coap-option-proxy-scheme 5344,identity,fid-coap-option-proxy-uri 5345,identity,fid-coap-option-size1 5346,identity,fid-coap-option-size2 5347,identity,fid-coap-option-uri-host 5348,identity,fid-coap-option-uri-path 5349,identity,fid-coap-option-uri-port 5350,identity,fid-coap-option-uri-query 5351,identity,fid-coap-tkl 5352,identity,fid-coap-token 5353,identity,fid-coap-type 5354,identity,fid-coap-version 5355,identity,fid-ipv6-appiid 5356,identity,fid-ipv6-appprefix 5357,identity,fid-ipv6-base-type 5358,identity,fid-ipv6-deviid 5359,identity,fid-ipv6-devprefix 5360,identity,fid-ipv6-flowlabel 5361,identity,fid-ipv6-hoplimit 5362,identity,fid-ipv6-nextheader 5363,identity,fid-ipv6-payload-length 5364,identity,fid-ipv6-trafficclass 5365,identity,fid-ipv6-trafficclass-ds 5366,identity,fid-ipv6-trafficclass-ecn 5367,identity,fid-ipv6-version 5368,identity,fid-oscore-base-type 5369,identity,fid-udp-app-port 5370,identity,fid-udp-base-type 5371,identity,fid-udp-checksum 5372,identity,fid-udp-dev-port 5373,identity,fid-udp-length 5374,identity,fl-base-type 5375,identity,fl-token-length 5376,identity,fl-variable 5377,identity,fragmentation-mode-ack-always 5378,identity,fragmentation-mode-ack-on-error 5379,identity,fragmentation-mode-base-type 5380,identity,fragmentation-mode-no-ack 5381,identity,mo-base-type 5382,identity,mo-equal 5383,identity,mo-ignore 5384,identity,mo-match-mapping 5385,identity,mo-msb 5386,identity,nature-base-type 5387,identity,nature-compression 5388,identity,nature-fragmentation 5389,identity,nature-no-compression 5390,identity,rcs-algorithm-base-type 5391,identity,rcs-crc32 5392,feature,compression 5393,feature,fragmentation 5394,module,ietf-schc-oam 5395,identity,fid-icmpv6-base-type 5396,identity,fid-icmpv6-checksum 5397,identity,fid-icmpv6-code 5398,identity,fid-icmpv6-identifier 5399,identity,fid-icmpv6-sequence 5400,identity,fid-icmpv6-type 5401,identity,proxy-none 5402,identity,proxy-pingv6 5403,identity,proxy-schc-message