types: Update TLV code reservations for well-known name components
Change-Id: I45da811e547ea209791f32da206e1b9bd424569a
diff --git a/changelog.rst b/changelog.rst
index 8cc41c0..ba86ec2 100644
--- a/changelog.rst
+++ b/changelog.rst
@@ -27,7 +27,15 @@
+ Lift restriction on name component types, allowing types in the range ``1`` - ``32767``
+ Correct definition of name URI encoding: disallow unescaped encoding of PLUS ``+`` and allow TILDE ``~``
- + Add ``ParametersSha256DigestComponent``
+ + Add well-known special-use component types:
+
+ - ``ParametersSha256DigestComponent`` (type 2)
+ - ``KeywordNameComponent`` (type 32)
+ - ``SegmentNameComponent`` (type 50)
+ - ``ByteOffsetNameComponent`` (type 52)
+ - ``VersionNameComponent`` (type 54)
+ - ``TimestampNameComponent`` (type 56)
+ - ``SequenceNumNameComponent`` (type 58)
- **Signature**
diff --git a/types.rst b/types.rst
index be8070b..eace2c6 100644
--- a/types.rst
+++ b/types.rst
@@ -17,12 +17,26 @@
+---------------------------------------------+------------------+-----------------+
| Name | 7 | 0x07 |
+---------------------------------------------+------------------+-----------------+
+| `Name component types`_ |
++---------------------------------------------+------------------+-----------------+
| GenericNameComponent | 8 | 0x08 |
+---------------------------------------------+------------------+-----------------+
| ImplicitSha256DigestComponent | 1 | 0x01 |
+---------------------------------------------+------------------+-----------------+
| ParametersSha256DigestComponent | 2 | 0x02 |
+---------------------------------------------+------------------+-----------------+
+| KeywordNameComponent | 32 (non-critical)| 0x20 |
++---------------------------------------------+------------------+-----------------+
+| SegmentNameComponent | 50 (non-critical)| 0x32 |
++---------------------------------------------+------------------+-----------------+
+| ByteOffsetNameComponent | 52 (non-critical)| 0x34 |
++---------------------------------------------+------------------+-----------------+
+| VersionNameComponent | 54 (non-critical)| 0x36 |
++---------------------------------------------+------------------+-----------------+
+| TimestampNameComponent | 56 (non-critical)| 0x38 |
++---------------------------------------------+------------------+-----------------+
+| SequenceNumNameComponent | 58 (non-critical)| 0x3a |
++---------------------------------------------+------------------+-----------------+
| **Interest packet** |
+---------------------------------------------+------------------+-----------------+
| CanBePrefix | 33 | 0x21 |
@@ -81,6 +95,22 @@
+---------------------------------------------+------------------+-----------------+
| Preference | 30 | 0x1e |
+---------------------------------------------+------------------+-----------------+
+| `NDN Certificates`_ |
++---------------------------------------------+------------------+-----------------+
+| ValidityPeriod | 253 | 0xfd |
++---------------------------------------------+------------------+-----------------+
+| NotBefore | 254 | 0xfe |
++---------------------------------------------+------------------+-----------------+
+| NotAfter | 255 | 0xff |
++---------------------------------------------+------------------+-----------------+
+| AdditionalDescription (non-critical) | 258 | 0x0102 |
++---------------------------------------------+------------------+-----------------+
+| DescriptionEntry | 512 | 0x0200 |
++---------------------------------------------+------------------+-----------------+
+| DescriptionKey | 513 | 0x0201 |
++---------------------------------------------+------------------+-----------------+
+| DescriptionValue | 514 | 0x0202 |
++---------------------------------------------+------------------+-----------------+
.. note::
The ABNF grammar of this specification denotes the TLV-TYPE of element ``X`` as ``X-TYPE``.
@@ -110,14 +140,9 @@
+----------------+-----------------------------------------------------------+
| 19 | Reserved, formerly `Any` |
+----------------+-----------------------------------------------------------+
-| 32 | Reserved, formerly `SelectedDelegation` |
-+----------------+-----------------------------------------------------------+
| [80, 100] | Reserved for assignments related to local-link data |
| | processing, e.g., `NDNLP`_, etc. (1-byte encoding) |
+----------------+-----------------------------------------------------------+
-| [101, 127] | Reserved for assignments related to the forwarder |
-| | (1-byte encoding) |
-+----------------+-----------------------------------------------------------+
| all other | |
| numbers in | |
| [1, 127] | Reserved for future assignments (1-byte encoding) |
@@ -127,11 +152,15 @@
| [800, 1000] | Reserved for assignments related to local-link data |
| | processing, e.g., `NDNLP`_, etc. (3-byte encoding) |
+----------------+-----------------------------------------------------------+
-| all other | Reserved for future assignments (3-byte encoding) |
+| all other | |
| numbers in | |
-| [253, 32767] | |
+| [253, 32767] | Reserved for future assignments (3-byte encoding) |
+----------------+-----------------------------------------------------------+
| >32767 | For application use (3-byte or 5-byte encoding) |
+----------------+-----------------------------------------------------------+
.. _NDNLP: https://redmine.named-data.net/projects/nfd/wiki/NDNLPv2
+
+.. _NDN Certificates: https://named-data.net/doc/ndn-cxx/current/specs/certificate-format.html
+
+.. _Name component types: https://redmine.named-data.net/projects/ndn-tlv/wiki/NameComponentType