blob: 91f2519fd623f66bc456ba1e24f551b35cb52dc2 [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+---------------------------------------------+--------------------+-----------------+
92| **Link Object** |
93+---------------------------------------------+--------------------+-----------------+
94| Delegation | 31 | 0x1f |
95+---------------------------------------------+--------------------+-----------------+
96| Preference | 30 | 0x1e |
97+---------------------------------------------+--------------------+-----------------+
98| |Certificate|_ |
99+---------------------------------------------+--------------------+-----------------+
100| ValidityPeriod | 253 | 0xfd |
101+---------------------------------------------+--------------------+-----------------+
102| NotBefore | 254 | 0xfe |
103+---------------------------------------------+--------------------+-----------------+
104| NotAfter | 255 | 0xff |
105+---------------------------------------------+--------------------+-----------------+
106| AdditionalDescription | 258 (non-critical) | 0x0102 |
107+---------------------------------------------+--------------------+-----------------+
108| DescriptionEntry | 512 | 0x0200 |
109+---------------------------------------------+--------------------+-----------------+
110| DescriptionKey | 513 | 0x0201 |
111+---------------------------------------------+--------------------+-----------------+
112| DescriptionValue | 514 | 0x0202 |
113+---------------------------------------------+--------------------+-----------------+
Alexander Afanasyevfffabfb2013-12-11 21:29:05 +0000114
Junxiao Shi78ce2952019-05-07 15:34:00 -0400115.. note::
Davide Pesavento23e340c2021-12-03 04:52:22 -0500116 The ABNF grammar of this specification denotes the TLV-TYPE of element ``X`` as ``X-TYPE``.
117 For example, ``INTEREST-TYPE`` means ``%x05``, the TLV-TYPE of ``Interest`` encoded in ``VAR-NUMBER-1`` format.
Junxiao Shi78ce2952019-05-07 15:34:00 -0400118
Alexander Afanasyevca58dc22013-12-28 21:04:59 +0000119.. _type reservations:
120
Junxiao Shi1082b422017-07-18 23:37:52 +0000121TLV-TYPE number reservations
122~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Alexander Afanasyevfffabfb2013-12-11 21:29:05 +0000123
124+----------------+-----------------------------------------------------------+
Junxiao Shi1082b422017-07-18 23:37:52 +0000125| Number range | Designation |
Alexander Afanasyevfffabfb2013-12-11 21:29:05 +0000126+================+===========================================================+
Davide Pesavento23e340c2021-12-03 04:52:22 -0500127| 9 | Reserved, formerly *Selectors* |
Junxiao Shibdc75012015-01-13 22:09:12 -0700128+----------------+-----------------------------------------------------------+
Davide Pesavento23e340c2021-12-03 04:52:22 -0500129| 11 | Reserved, formerly *Scope* |
Alexander Afanasyev718b86a2014-02-16 05:42:20 +0000130+----------------+-----------------------------------------------------------+
Davide Pesavento23e340c2021-12-03 04:52:22 -0500131| 13 | Reserved, formerly *MinSuffixComponents* |
Alexander Afanasyeve9f48512018-01-15 23:44:50 -0500132+----------------+-----------------------------------------------------------+
Davide Pesavento23e340c2021-12-03 04:52:22 -0500133| 14 | Reserved, formerly *MaxSuffixComponents* |
Alexander Afanasyeve9f48512018-01-15 23:44:50 -0500134+----------------+-----------------------------------------------------------+
Davide Pesavento23e340c2021-12-03 04:52:22 -0500135| 15 | Reserved, formerly *PublisherPublicKeyLocator* |
Alexander Afanasyeve9f48512018-01-15 23:44:50 -0500136+----------------+-----------------------------------------------------------+
Davide Pesavento23e340c2021-12-03 04:52:22 -0500137| 16 | Reserved, formerly *Exclude* |
Alexander Afanasyeve9f48512018-01-15 23:44:50 -0500138+----------------+-----------------------------------------------------------+
Davide Pesavento23e340c2021-12-03 04:52:22 -0500139| 17 | Reserved, formerly *ChildSelector* |
Alexander Afanasyeve9f48512018-01-15 23:44:50 -0500140+----------------+-----------------------------------------------------------+
Davide Pesavento23e340c2021-12-03 04:52:22 -0500141| 19 | Reserved, formerly *Any* |
Alexander Afanasyeve9f48512018-01-15 23:44:50 -0500142+----------------+-----------------------------------------------------------+
Junxiao Shidcb0f372019-04-06 18:45:55 +0000143| [80, 100] | Reserved for assignments related to local-link data |
Davide Pesavento23e340c2021-12-03 04:52:22 -0500144| | processing, e.g., NDNLP_ (1-byte encoding) |
Alexander Afanasyevb917c0b2014-02-12 19:53:48 +0000145+----------------+-----------------------------------------------------------+
Junxiao Shidcb0f372019-04-06 18:45:55 +0000146| all other | |
147| numbers in | |
148| [1, 127] | Reserved for future assignments (1-byte encoding) |
Alexander Afanasyevfffabfb2013-12-11 21:29:05 +0000149+----------------+-----------------------------------------------------------+
Junxiao Shidcb0f372019-04-06 18:45:55 +0000150| [128, 252] | For application use (1-byte encoding) |
151+----------------+-----------------------------------------------------------+
152| [800, 1000] | Reserved for assignments related to local-link data |
Davide Pesavento23e340c2021-12-03 04:52:22 -0500153| | processing, e.g., NDNLP_ (3-byte encoding) |
Junxiao Shi4406fdd2015-06-10 13:28:10 -0700154+----------------+-----------------------------------------------------------+
Alexander Afanasyev85f77b12021-10-26 17:44:35 -0400155| all other | |
Junxiao Shidcb0f372019-04-06 18:45:55 +0000156| numbers in | |
Alexander Afanasyev85f77b12021-10-26 17:44:35 -0400157| [253, 32767] | Reserved for future assignments (3-byte encoding) |
Alexander Afanasyevfffabfb2013-12-11 21:29:05 +0000158+----------------+-----------------------------------------------------------+
Junxiao Shidcb0f372019-04-06 18:45:55 +0000159| >32767 | For application use (3-byte or 5-byte encoding) |
Alexander Afanasyevfffabfb2013-12-11 21:29:05 +0000160+----------------+-----------------------------------------------------------+
Alexander Afanasyev718b86a2014-02-16 05:42:20 +0000161
Junxiao Shi1082b422017-07-18 23:37:52 +0000162.. _NDNLP: https://redmine.named-data.net/projects/nfd/wiki/NDNLPv2
Alexander Afanasyev85f77b12021-10-26 17:44:35 -0400163
Davide Pesavento23e340c2021-12-03 04:52:22 -0500164.. |Name components| replace:: **Name components**
165.. _Name components: https://redmine.named-data.net/projects/ndn-tlv/wiki/NameComponentType
Alexander Afanasyev85f77b12021-10-26 17:44:35 -0400166
Davide Pesavento23e340c2021-12-03 04:52:22 -0500167.. |Certificate| replace:: **Certificate**
168.. _Certificate: https://named-data.net/doc/ndn-cxx/current/specs/certificate-format.html