blob: ed6c2e47997f7f2787145a3c5598e90b96279b66 [file] [log] [blame]
Alexander Afanasyevfffabfb2013-12-11 21:29:05 +00001.. _types:
2
Davide Pesavento738fd312019-02-07 13:40:16 -05003TLV-TYPE number assignments
4---------------------------
Alexander Afanasyevfffabfb2013-12-11 21:29:05 +00005
Davide Pesavento23e340c2021-12-03 04:52:22 -05006+---------------------------------------------+--------------------+-----------------+
7| Type | Assigned number | Assigned number |
8| | (decimal) | (hexadecimal) |
9+=============================================+====================+=================+
10| **Packet types** |
11+---------------------------------------------+--------------------+-----------------+
12| Interest | 5 | 0x05 |
13+---------------------------------------------+--------------------+-----------------+
14| Data | 6 | 0x06 |
15+---------------------------------------------+--------------------+-----------------+
16| **Common fields** |
17+---------------------------------------------+--------------------+-----------------+
18| Name | 7 | 0x07 |
19+---------------------------------------------+--------------------+-----------------+
20| |Name components|_ |
21+---------------------------------------------+--------------------+-----------------+
22| GenericNameComponent | 8 | 0x08 |
23+---------------------------------------------+--------------------+-----------------+
24| ImplicitSha256DigestComponent | 1 | 0x01 |
25+---------------------------------------------+--------------------+-----------------+
26| ParametersSha256DigestComponent | 2 | 0x02 |
27+---------------------------------------------+--------------------+-----------------+
28| KeywordNameComponent | 32 (non-critical) | 0x20 |
29+---------------------------------------------+--------------------+-----------------+
30| SegmentNameComponent | 50 (non-critical) | 0x32 |
31+---------------------------------------------+--------------------+-----------------+
32| ByteOffsetNameComponent | 52 (non-critical) | 0x34 |
33+---------------------------------------------+--------------------+-----------------+
34| VersionNameComponent | 54 (non-critical) | 0x36 |
35+---------------------------------------------+--------------------+-----------------+
36| TimestampNameComponent | 56 (non-critical) | 0x38 |
37+---------------------------------------------+--------------------+-----------------+
38| SequenceNumNameComponent | 58 (non-critical) | 0x3a |
39+---------------------------------------------+--------------------+-----------------+
40| **Interest packet** |
41+---------------------------------------------+--------------------+-----------------+
42| CanBePrefix | 33 | 0x21 |
43+---------------------------------------------+--------------------+-----------------+
44| MustBeFresh | 18 | 0x12 |
45+---------------------------------------------+--------------------+-----------------+
46| ForwardingHint | 30 | 0x1e |
47+---------------------------------------------+--------------------+-----------------+
48| Nonce | 10 | 0x0a |
49+---------------------------------------------+--------------------+-----------------+
50| InterestLifetime | 12 | 0x0c |
51+---------------------------------------------+--------------------+-----------------+
52| HopLimit | 34 (non-critical) | 0x22 |
53+---------------------------------------------+--------------------+-----------------+
54| ApplicationParameters | 36 (non-critical) | 0x24 |
55+---------------------------------------------+--------------------+-----------------+
56| InterestSignatureInfo | 44 (non-critical) | 0x2c |
57+---------------------------------------------+--------------------+-----------------+
58| InterestSignatureValue | 46 (non-critical) | 0x2e |
59+---------------------------------------------+--------------------+-----------------+
60| **Data packet** |
61+---------------------------------------------+--------------------+-----------------+
62| MetaInfo | 20 | 0x14 |
63+---------------------------------------------+--------------------+-----------------+
64| Content | 21 | 0x15 |
65+---------------------------------------------+--------------------+-----------------+
66| SignatureInfo | 22 | 0x16 |
67+---------------------------------------------+--------------------+-----------------+
68| SignatureValue | 23 | 0x17 |
69+---------------------------------------------+--------------------+-----------------+
70| **MetaInfo** |
71+---------------------------------------------+--------------------+-----------------+
72| ContentType | 24 | 0x18 |
73+---------------------------------------------+--------------------+-----------------+
74| FreshnessPeriod | 25 | 0x19 |
75+---------------------------------------------+--------------------+-----------------+
76| FinalBlockId | 26 | 0x1a |
77+---------------------------------------------+--------------------+-----------------+
78| **Signature** |
79+---------------------------------------------+--------------------+-----------------+
80| SignatureType | 27 | 0x1b |
81+---------------------------------------------+--------------------+-----------------+
82| KeyLocator | 28 | 0x1c |
83+---------------------------------------------+--------------------+-----------------+
84| KeyDigest | 29 | 0x1d |
85+---------------------------------------------+--------------------+-----------------+
86| SignatureNonce | 38 (non-critical) | 0x26 |
87+---------------------------------------------+--------------------+-----------------+
88| SignatureTime | 40 (non-critical) | 0x28 |
89+---------------------------------------------+--------------------+-----------------+
90| SignatureSeqNum | 42 (non-critical) | 0x2a |
91+---------------------------------------------+--------------------+-----------------+
Davide Pesavento23e340c2021-12-03 04:52:22 -050092| |Certificate|_ |
93+---------------------------------------------+--------------------+-----------------+
94| ValidityPeriod | 253 | 0xfd |
95+---------------------------------------------+--------------------+-----------------+
96| NotBefore | 254 | 0xfe |
97+---------------------------------------------+--------------------+-----------------+
98| NotAfter | 255 | 0xff |
99+---------------------------------------------+--------------------+-----------------+
100| AdditionalDescription | 258 (non-critical) | 0x0102 |
101+---------------------------------------------+--------------------+-----------------+
102| DescriptionEntry | 512 | 0x0200 |
103+---------------------------------------------+--------------------+-----------------+
104| DescriptionKey | 513 | 0x0201 |
105+---------------------------------------------+--------------------+-----------------+
106| DescriptionValue | 514 | 0x0202 |
107+---------------------------------------------+--------------------+-----------------+
Alexander Afanasyevfffabfb2013-12-11 21:29:05 +0000108
Junxiao Shi78ce2952019-05-07 15:34:00 -0400109.. note::
Davide Pesavento23e340c2021-12-03 04:52:22 -0500110 The ABNF grammar of this specification denotes the TLV-TYPE of element ``X`` as ``X-TYPE``.
111 For example, ``INTEREST-TYPE`` means ``%x05``, the TLV-TYPE of ``Interest`` encoded in ``VAR-NUMBER-1`` format.
Junxiao Shi78ce2952019-05-07 15:34:00 -0400112
Alexander Afanasyevca58dc22013-12-28 21:04:59 +0000113.. _type reservations:
114
Junxiao Shi1082b422017-07-18 23:37:52 +0000115TLV-TYPE number reservations
116~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Alexander Afanasyevfffabfb2013-12-11 21:29:05 +0000117
118+----------------+-----------------------------------------------------------+
Junxiao Shi1082b422017-07-18 23:37:52 +0000119| Number range | Designation |
Alexander Afanasyevfffabfb2013-12-11 21:29:05 +0000120+================+===========================================================+
Davide Pesavento23e340c2021-12-03 04:52:22 -0500121| 9 | Reserved, formerly *Selectors* |
Junxiao Shibdc75012015-01-13 22:09:12 -0700122+----------------+-----------------------------------------------------------+
Davide Pesavento23e340c2021-12-03 04:52:22 -0500123| 11 | Reserved, formerly *Scope* |
Alexander Afanasyev718b86a2014-02-16 05:42:20 +0000124+----------------+-----------------------------------------------------------+
Davide Pesavento23e340c2021-12-03 04:52:22 -0500125| 13 | Reserved, formerly *MinSuffixComponents* |
Alexander Afanasyeve9f48512018-01-15 23:44:50 -0500126+----------------+-----------------------------------------------------------+
Davide Pesavento23e340c2021-12-03 04:52:22 -0500127| 14 | Reserved, formerly *MaxSuffixComponents* |
Alexander Afanasyeve9f48512018-01-15 23:44:50 -0500128+----------------+-----------------------------------------------------------+
Davide Pesavento23e340c2021-12-03 04:52:22 -0500129| 15 | Reserved, formerly *PublisherPublicKeyLocator* |
Alexander Afanasyeve9f48512018-01-15 23:44:50 -0500130+----------------+-----------------------------------------------------------+
Davide Pesavento23e340c2021-12-03 04:52:22 -0500131| 16 | Reserved, formerly *Exclude* |
Alexander Afanasyeve9f48512018-01-15 23:44:50 -0500132+----------------+-----------------------------------------------------------+
Davide Pesavento23e340c2021-12-03 04:52:22 -0500133| 17 | Reserved, formerly *ChildSelector* |
Alexander Afanasyeve9f48512018-01-15 23:44:50 -0500134+----------------+-----------------------------------------------------------+
Davide Pesavento23e340c2021-12-03 04:52:22 -0500135| 19 | Reserved, formerly *Any* |
Alexander Afanasyeve9f48512018-01-15 23:44:50 -0500136+----------------+-----------------------------------------------------------+
Junxiao Shidcb0f372019-04-06 18:45:55 +0000137| [80, 100] | Reserved for assignments related to local-link data |
Davide Pesavento23e340c2021-12-03 04:52:22 -0500138| | processing, e.g., NDNLP_ (1-byte encoding) |
Alexander Afanasyevb917c0b2014-02-12 19:53:48 +0000139+----------------+-----------------------------------------------------------+
Junxiao Shidcb0f372019-04-06 18:45:55 +0000140| all other | |
141| numbers in | |
142| [1, 127] | Reserved for future assignments (1-byte encoding) |
Alexander Afanasyevfffabfb2013-12-11 21:29:05 +0000143+----------------+-----------------------------------------------------------+
Junxiao Shidcb0f372019-04-06 18:45:55 +0000144| [128, 252] | For application use (1-byte encoding) |
145+----------------+-----------------------------------------------------------+
146| [800, 1000] | Reserved for assignments related to local-link data |
Davide Pesavento23e340c2021-12-03 04:52:22 -0500147| | processing, e.g., NDNLP_ (3-byte encoding) |
Junxiao Shi4406fdd2015-06-10 13:28:10 -0700148+----------------+-----------------------------------------------------------+
Alexander Afanasyev85f77b12021-10-26 17:44:35 -0400149| all other | |
Junxiao Shidcb0f372019-04-06 18:45:55 +0000150| numbers in | |
Alexander Afanasyev85f77b12021-10-26 17:44:35 -0400151| [253, 32767] | Reserved for future assignments (3-byte encoding) |
Alexander Afanasyevfffabfb2013-12-11 21:29:05 +0000152+----------------+-----------------------------------------------------------+
Junxiao Shidcb0f372019-04-06 18:45:55 +0000153| >32767 | For application use (3-byte or 5-byte encoding) |
Alexander Afanasyevfffabfb2013-12-11 21:29:05 +0000154+----------------+-----------------------------------------------------------+
Alexander Afanasyev718b86a2014-02-16 05:42:20 +0000155
Junxiao Shi1082b422017-07-18 23:37:52 +0000156.. _NDNLP: https://redmine.named-data.net/projects/nfd/wiki/NDNLPv2
Alexander Afanasyev85f77b12021-10-26 17:44:35 -0400157
Davide Pesavento23e340c2021-12-03 04:52:22 -0500158.. |Name components| replace:: **Name components**
159.. _Name components: https://redmine.named-data.net/projects/ndn-tlv/wiki/NameComponentType
Alexander Afanasyev85f77b12021-10-26 17:44:35 -0400160
Davide Pesavento23e340c2021-12-03 04:52:22 -0500161.. |Certificate| replace:: **Certificate**
162.. _Certificate: https://named-data.net/doc/ndn-cxx/current/specs/certificate-format.html