Internet DRAFT - draft-dearlove-manet-tlv-naming
draft-dearlove-manet-tlv-naming
Mobile Ad hoc Networking (MANET) C. Dearlove
Internet-Draft BAE Systems ATC
Updates: 5444 (if approved) T. Clausen
Intended status: Standards Track LIX, Ecole Polytechnique
Expires: May 14, 2015 November 10, 2014
TLV Naming in the MANET Generalized Packet/Message Format
draft-dearlove-manet-tlv-naming-00
Abstract
TLVs (type-length-value structures) as defined by RFC5444 have both a
type (one octet) and a type extension (one octet), together forming a
full type (of two octets). RFC5444 sets up IANA registries for TLV
types, specifying that an allocation of a TLV type entails creation
of an IANA registry for the corresponding type extensions.
In some cases, reserving all 256 type extensions for use for a common
purpose for a given TLV is meaningful, and thus it makes sense to
record a common name for such a TLV type (and all of its type
extensions) in the corresponding IANA registries. An example of such
is a LINK_METRIC TLV Type, with its type extensions reserved for use
to be indicating the "kind" of metric expressed by the value of the
TLV.
In some other cases, there may not be 256 full types that share a
common purpose and, as such, it is not meaningful to record a common
name for all the type extensions for a TLV type in the corresponding
IANA registries. Rather, it is appropriate to record an individual
name per full type.
This document reorganizes the naming of already allocated TLV types
and type extensions in those registries to use names appropriately.
It has no consequences in terms of any protocol implementation.
This document also updates the Expert Review guidelines from RFC5444,
so as to establish a policy for consistent naming of future TLV type
and type extension allocations.
Status of this Memo
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-
Dearlove & Clausen Expires May 14, 2015 [Page 1]
Internet-Draft TLV Naming November 2014
Drafts is at http://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 May 14, 2015.
Copyright Notice
Copyright (c) 2014 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
(http://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 Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Dearlove & Clausen Expires May 14, 2015 [Page 2]
Internet-Draft TLV Naming November 2014
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
3.1. Expert Review: Evaluation Guidelines . . . . . . . . . . . 6
3.2. Updated IANA Registries . . . . . . . . . . . . . . . . . 7
4. Security Considerations . . . . . . . . . . . . . . . . . . . 14
5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14
6. Normative References . . . . . . . . . . . . . . . . . . . . . 15
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15
Dearlove & Clausen Expires May 14, 2015 [Page 3]
Internet-Draft TLV Naming November 2014
1. Introduction
This document reorganizes and rationalizes the naming of TLVs (type-
length-value structures), defined by [RFC5444] and recorded by IANA
in the Mobile Ad hoc NETwork (MANET) Parameters registries "Packet
TLV Types", "Message TLV Types", and "Address Block TLV Types".
This document reorganizes the naming of already allocated Packet,
Message and Address Block TLV types, and their corresponding Type
Extensions, and updates corresponding IANA registries.
TLVs have a type (one octet) and a type extension (one octet) which
together form a full type (of two octets). A TLV may omit the type
extension when it is zero, but that applies only to its
representation, it still has a type extension of zero. A TLV type
defines an IANA registry of type extensions for that type.
There have been two forms of TLV allocation.
The first, but less common, form of allocation has been that
allocation of the type has immediately defined (but not necessarily
allocated) all the corresponding type extensions for versions of that
type. This applies, for example, to the Address Block TLV
LINK_METRIC specified in [RFC7181]. The LINK_METRIC type extensions
are all available for allocation for different definitions of link
metric. It is appropriate in this case to apply the name LINK_METRIC
to the type, and also to all the full types corresponding to that
type, as has been done. Type extensions can then be individually
named, or can be simply referred to by their number.
The second, more common, form of allocation has been that for a TLV
type, only type extension 0, and possibly the type extension 1, are
defined. An example is the Address Block TLV LINK_STATUS defined in
[RFC6130], where only type extension 0 is allocated. It is not
reasonable to assume that the remaining 255 type extensions will be
allocated to forms of LINK_STATUS. (Other forms of link status are
already catered to by the introduction, in [RFC7188], of a registry
for values of the LINK_STATUS TLV.) Thus the name LINK_STATUS should
be attached to that specific type extension for that type, i.e., to
the full type, and not to the TLV type when used with all other type
extensions therefore. This was, however, not done as part of the
initial registration of this TLV type. Effectively, this leaves, for
the LINK_STAUS TLV type, the type extensions 1-255 either unavailable
for allocation (if applying strictly the interpretation that they
must relate to a LINK_STATUS), or counterintuitively named for their
intended function.
Dearlove & Clausen Expires May 14, 2015 [Page 4]
Internet-Draft TLV Naming November 2014
The purpose of this document is to change how these names are
applied, and recorded in IANA registries, and to provide guidelines
and instructions for future TLV type allocations. This is to
facilitate the addition of new TLVs using type extensions other than
0, but without them having inappropriate names attached. So, for
example, LINK_STATUS will become the name of the full type (as
composed by the TLV type 3 and the TLV type extension 0), and will
cease being the name of the TLV type 3. This leaves the question of
how to name the type. As it is not clear what other TLVs might be
defined for other type extensions of the same type, it is proposed to
leave the type currently unnamed, specified only by number.
This document also updates the Expert Review guidelines from
[RFC5444], so as to establish a policy for consisteng naming of
future TLV type and type extension allocations.
For clarity, all currently allocated TLVs in [RFC5497], [RFC6130],
[RFC7181] and [RFC7182] will be listed in the IANA considerations
section of this document, indicating no change when that is
appropriate (such as the LINK_METRIC TLV). The only changes are of
naming.
Note that nothing in this draft changes the operation of any
protocol. This naming is already used, in effect, in [RFC6130] and
[RFC7181], currently the main users of allocated TLVs. For example
the former indicates that all usage of LINK_STATUS refers to that TLV
with type extension 0.
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
[RFC2119].
All references to elements such as packet, message and TLV in this
document refer to those defined in [RFC5444].
Dearlove & Clausen Expires May 14, 2015 [Page 5]
Internet-Draft TLV Naming November 2014
3. IANA Considerations
This document updates the Expert Review evaluation guidelines for
Packet TLV Type, Message TLV Type, and Address Block TLV Type
allocations, from [RFC5444], and updates the registries for already
made allocations to follow these guidelines.
3.1. Expert Review: Evaluation Guidelines
For registration from the registries for Packet TLV Types, Message
TLV Types, and Address Block TLV Types, the following guidelines
apply, in addition to those given in section 6.1 in [RFC5444]:
o If the reguested TLV Type immediately defines (but not necessarily
allocates) all the corresponding type extensions for versions of
that type, then a common name SHOULD be assigned for the TLV type.
o Otherwise, if the reguested TLV Type does not immediately define
all the corresponding type extensions for versions of that type,
then a common name SHOULD NOT be assigned for that TLV type.
Instead, it is RECOMMENDED that:
* The "description" for the allocated TLV type be "Defined by
Type Extension";
* For Packet TLV Types, that the Type Extension registry, created
for the TLV Type, be named "Type XX Packet TLV Type
Extensions", with XX replaced by the numerical value of the TLV
Type.
* For Message TLV Types, that the Type Extension registry,
created for the TLV Type, be named "Type XX Message TLV Type
Extensions", with XX replaced by the numerical value of the TLV
Type.
* For Address Block TLV Types, that the Type Extension registry,
created for the TLV Type, be named "Type XX Address Block TLV
Type Extensions", with XX replaced by the numerical value of
the TLV Type.
* That each Type Extension be given a name when allocated.
Dearlove & Clausen Expires May 14, 2015 [Page 6]
Internet-Draft TLV Naming November 2014
3.2. Updated IANA Registries
The following changes all apply to the IANA registry "Mobile Ad hoc
NETwork (MANET) Parameters".
The IANA registry "Packet TLV Types" is unchanged.
The IANA Registry "ICV Packet TLV Type Extensions" is unchanged.
The IANA Registry "TIMESTAMP Packet TLV Type Extensions" is
unchanged.
The IANA Registry "Message TLV Types" is changed to Table 1.
+---------+-------------------------------+-----------+
| Type | Description | Reference |
+---------+-------------------------------+-----------+
| 0 | Defined by Type Extension | [RFC5497] |
| 1 | Defined by Type Extension | [RFC5497] |
| 2-4 | Unassigned | |
| 5 | ICV | [RFC7182] |
| 6 | TIMESTAMP | [RFC7182] |
| 7 | Defined by Type Extension | [RFC7181] |
| 8 | Defined by Type Extension | [RFC7181] |
| 9-223 | Unassigned | |
| 224-255 | Reserved for Experimental Use | [RFC5444] |
+---------+-------------------------------+-----------+
Table 1: Message TLV Types
Dearlove & Clausen Expires May 14, 2015 [Page 7]
Internet-Draft TLV Naming November 2014
The IANA Registry "INTERVAL_TIME Message TLV Type Extensions" is
renamed as "Type 0 Message TLV Type Extensions" and changed to
Table 2.
+-----------+---------------+---------------------------+-----------+
| Type | Name | Description | Reference |
| Extension | | | |
+-----------+---------------+---------------------------+-----------+
| 0 | INTERVAL_TIME | The maximum time before | [RFC5497] |
| | | another message of the | |
| | | same type as this message | |
| | | from the same originator | |
| | | should be received | |
| 1-223 | | Unassigned | |
| 224-255 | | Reserved for Experimental | [RFC5497] |
| | | Use | |
+-----------+---------------+---------------------------+-----------+
Table 2: Type 0 Message TLV Type Extensions
The IANA Registry "VALIDITY_TIME Message TLV Type Extensions" is
renamed as "Type 1 Message TLV Type Extensions" and changed to
Table 3.
+-----------+---------------+---------------------------+-----------+
| Type | Name | Description | Reference |
| Extension | | | |
+-----------+---------------+---------------------------+-----------+
| 0 | VALIDITY_TIME | The time from receipt of | [RFC5497] |
| | | the message during which | |
| | | the information contained | |
| | | in the message is to be | |
| | | considered valid | |
| 1-223 | | Unassigned | |
| 224-255 | | Reserved for Experimental | [RFC5497] |
| | | Use | |
+-----------+---------------+---------------------------+-----------+
Table 3: Type 1 Message TLV Type Extensions
The IANA Registry "ICV Message TLV Type Extensions" is unchanged.
The IANA Registry "TIMESTAMP Message TLV Type Extensions" is
unchanged.
Dearlove & Clausen Expires May 14, 2015 [Page 8]
Internet-Draft TLV Naming November 2014
The IANA Registry "MPR_WILLING Message Type Extensions" is renamed as
"Type 7 Message TLV Type Extensions" and changed to Table 4.
+-----------+-------------+-----------------------------+-----------+
| Type | Name | Description | Reference |
| Extension | | | |
+-----------+-------------+-----------------------------+-----------+
| 0 | MPR_WILLING | Bits 0-3 specify the | [RFC7181] |
| | | originating router's | |
| | | willingness to act as a | |
| | | flooding MPR; bits 4-7 | |
| | | specify the originating | |
| | | router's willingness to act | |
| | | as a routing MPR | |
| 1-223 | | Unassigned | |
| 224-255 | | Reserved for Experimental | [RFC7181] |
| | | Use | |
+-----------+-------------+-----------------------------+-----------+
Table 4: Type 7 Message TLV Type Extensions
The IANA Registry "CONT_SEQ_NUM Message Type Extensions" is renamed
as "Type 8 Message TLV Type Extensions" and changed to Table 5.
+-----------+--------------+----------------------------+-----------+
| Type | Name | Description | Reference |
| Extension | | | |
+-----------+--------------+----------------------------+-----------+
| 0 | CONT_SEQ_NUM | Specifies a content | [RFC7181] |
| | (COMPLETE) | sequence number for this | |
| | | complete message | |
| 1 | CONT_SEQ_NUM | Specifies a content | [RFC7181] |
| | (INCOMPLETE) | sequence number for this | |
| | | incomplete message | |
| 2-223 | | Unassigned | |
| 224-255 | | Reserved for Experimental | [RFC7181] |
| | | Use | |
+-----------+--------------+----------------------------+-----------+
Table 5: Type 8 Message TLV Type Extensions
Dearlove & Clausen Expires May 14, 2015 [Page 9]
Internet-Draft TLV Naming November 2014
The IANA Registry "Address Block TLV Types" is changed to Table 6.
+---------+-------------------------------+-----------+
| Type | Description | Reference |
+---------+-------------------------------+-----------+
| 0 | Defined by Type Extension | [RFC5497] |
| 1 | Defined by Type Extension | [RFC5497] |
| 2 | Defined by Type Extension | [RFC6130] |
| 3 | Defined by Type Extension | [RFC6130] |
| 4 | Defined by Type Extension | [RFC6130] |
| 5 | ICV | [RFC7182] |
| 6 | TIMESTAMP | [RFC7182] |
| 7 | LINK_METRIC | [RFC7181] |
| 8 | Defined by Type Extension | [RFC7181] |
| 9 | Defined by Type Extension | [RFC7181] |
| 10 | Defined by Type Extension | [RFC7181] |
| 11-223 | Unassigned | |
| 224-255 | Reserved for Experimental Use | [RFC5444] |
+---------+-------------------------------+-----------+
Table 6: Address Block TLV Types
The IANA Registry "INTERVAL_TIME Address Block TLV Type Extensions"
is renamed as "Type 0 Address Block TLV Type Extensions" and changed
to Table 7.
+-----------+---------------+---------------------------+-----------+
| Type | Name | Description | Reference |
| Extension | | | |
+-----------+---------------+---------------------------+-----------+
| 0 | INTERVAL_TIME | The maximum time before | [RFC5497] |
| | | another message of the | |
| | | same type as this message | |
| | | from the same originator | |
| | | and containing this | |
| | | address should be | |
| | | received | |
| 1-223 | | Unassigned | |
| 224-255 | | Reserved for Experimental | [RFC5497] |
| | | Use | |
+-----------+---------------+---------------------------+-----------+
Table 7: Type 0 Address Block TLV Type Extensions
Dearlove & Clausen Expires May 14, 2015 [Page 10]
Internet-Draft TLV Naming November 2014
The IANA Registry "VALIDITY_TIME Address Block Type Extensions" is
renamed as "Type 1 Address Block TLV Type Extensions" and changed to
Table 8.
+-----------+---------------+---------------------------+-----------+
| Type | Name | Description | Reference |
| Extension | | | |
+-----------+---------------+---------------------------+-----------+
| 0 | VALIDITY_TIME | The time from receipt of | [RFC5497] |
| | | the address during which | |
| | | the information regarding | |
| | | this address is to be | |
| | | considered valid | |
| 1-223 | | Unassigned | |
| 224-255 | | Reserved for Experimental | [RFC5497] |
| | | Use | |
+-----------+---------------+---------------------------+-----------+
Table 8: Type 1 Address Block TLV Type Extensions
The IANA Registry "LOCAL_IF Address Block Type Extensions" is renamed
as "Type 2 Address Block TLV Type Extensions" and changed to Table 9.
+-----------+----------+-----------------------+--------------------+
| Type | Name | Description | Reference |
| Extension | | | |
+-----------+----------+-----------------------+--------------------+
| 0 | LOCAL_IF | This value is to be | [RFC7188][RFC6130] |
| | | interpreted according | |
| | | to the registry | |
| | | [LOCAL_IF TLV Values] | |
| 1-223 | | Unassigned | |
| 224-255 | | Reserved for | [RFC6130] |
| | | Experimental Use | |
+-----------+----------+-----------------------+--------------------+
Table 9: Type 2 Address Block TLV Type Extensions
Dearlove & Clausen Expires May 14, 2015 [Page 11]
Internet-Draft TLV Naming November 2014
The IANA Registry "LINK_STATUS Address Block Type Extensions" is
renamed as "Type 3 Address Block TLV Type Extensions" and changed to
Table 10.
+-----------+-------------+--------------------+--------------------+
| Type | Name | Description | Reference |
| Extension | | | |
+-----------+-------------+--------------------+--------------------+
| 0 | LINK_STATUS | This value is to | [RFC7188][RFC6130] |
| | | be interpreted | |
| | | according to the | |
| | | registry | |
| | | [LINK_STATUS TLV | |
| | | Values] | |
| 1-223 | | Unassigned | |
| 224-255 | | Reserved for | [RFC6130] |
| | | Experimental Use | |
+-----------+-------------+--------------------+--------------------+
Table 10: Type 3 Address Block TLV Type Extensions
The IANA Registry "OTHER_NEIGHB Address Block Type Extensions" is
renamed as "Type 4 Address Block TLV Type Extensions" and changed to
Table 11.
+-----------+--------------+-------------------+--------------------+
| Type | Name | Description | Reference |
| Extension | | | |
+-----------+--------------+-------------------+--------------------+
| 0 | OTHER_NEIGHB | This value is to | [RFC7188][RFC6130] |
| | | be interpreted | |
| | | according to the | |
| | | registry | |
| | | [OTHER_NEIGHB TLV | |
| | | Values] | |
| 1-223 | | Unassigned | |
| 224-255 | | Reserved for | [RFC6130] |
| | | Experimental Use | |
+-----------+--------------+-------------------+--------------------+
Table 11: Type 4 Address Block TLV Type Extensions
The IANA Registry "ICV Address Block TLV Type Extensions" is
unchanged.
The IANA Registry "TIMESTAMP Address Block TLV Type Extensions" is
unchanged.
Dearlove & Clausen Expires May 14, 2015 [Page 12]
Internet-Draft TLV Naming November 2014
The IANA Registry "LINK_METRIC Address Block TLV Type Extensions" is
unchanged.
The IANA Registry "MPR Address Block Type Extensions" is renamed as
"Type 8 Address Block TLV Type Extensions" and changed to Table 12.
+-----------+------+---------------------------+--------------------+
| Type | Name | Description | Reference |
| Extension | | | |
+-----------+------+---------------------------+--------------------+
| 0 | MPR | This value is to be | [RFC7188][RFC7181] |
| | | interpreted according to | |
| | | the registry [MPR TLV Bit | |
| | | Values] | |
| 1-223 | | Unassigned | |
| 224-255 | | Reserved for Experimental | This Document |
| | | Use | |
+-----------+------+---------------------------+--------------------+
Table 12: Type 8 Address Block TLV Type Extensions
The IANA Registry "NBR_ADDR_TYPES Address Block Type Extensions" is
renamed as "Type 9 Address Block TLV Type Extensions" and changed to
Table 13.
+-----------+----------------+-----------------+--------------------+
| Type | Name | Description | Reference |
| Extension | | | |
+-----------+----------------+-----------------+--------------------+
| 0 | NBR_ADDR_TYPES | This value is | [RFC7188][RFC7181] |
| | | to be | |
| | | interpreted | |
| | | according to | |
| | | the registry | |
| | | [NBR_ADDR_TYPE | |
| | | Address Block | |
| | | TLV Bit Values] | |
| 1-223 | | Unassigned | |
| 224-255 | | Reserved for | This Document |
| | | Experimental | |
| | | Use | |
+-----------+----------------+-----------------+--------------------+
Table 13: Type 9 Address Block TLV Type Extensions
Dearlove & Clausen Expires May 14, 2015 [Page 13]
Internet-Draft TLV Naming November 2014
The IANA Registry "GATEWAY Address Block Type Extensions" is renamed
as "Type 10 Address Block TLV Type Extensions" and changed to
Table 14.
+-----------+---------+------------------------+--------------------+
| Type | Name | Description | Reference |
| Extension | | | |
+-----------+---------+------------------------+--------------------+
| 0 | GATEWAY | Specifies that a given | [RFC7188][RFC7181] |
| | | network address is | |
| | | reached via a gateway | |
| | | on the originating | |
| | | router, with value | |
| | | equal to the number of | |
| | | hops | |
| 1-223 | | Unassigned | |
| 224-255 | | Reserved for | This Document |
| | | Experimental Use | |
+-----------+---------+------------------------+--------------------+
Table 14: Type 10 Address Block TLV Type Extensions
Note: This document adds reservations for experimental use, omitted
in [RFC7181], to the last three tables.
4. Security Considerations
As this document is concerned only with how entities are named, those
names being used only in documents such as this and IANA registries,
this document has no security considerations.
5. Acknowledgments
The authors would like to thank Adrian Farrel for having pointed out
the need for reorganization and rationalization the naming of TLVs
(type-length-value structures), defined by [RFC5444].
Dearlove & Clausen Expires May 14, 2015 [Page 14]
Internet-Draft TLV Naming November 2014
6. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC5444] Clausen, T., Dearlove, C., Dean, J., and C. Adjih,
"Generalized MANET Packet/Message Format", RFC 5444,
February 2009.
[RFC5497] Clausen, T. and C. Dearlove, "Representing Multi-Value
Time in Mobile Ad Hoc Networks (MANETs)", RFC 5497,
March 2009.
[RFC6130] Clausen, T., Dean, J., and C. Dearlove, "Mobile Ad Hoc
Network (MANET) Neighborhood Discovery Protocol (NHDP)",
RFC 6130, April 2011.
[RFC7181] Clausen, T., Dearlove, C., Jacquet, P., and U. Herberg,
"The Optimized Link State Routing Protocol version 2",
RFC 7181, April 2014.
[RFC7182] Herberg, U., Clausen, T., and C. Dearlove, "Integrity
Check Value and Timestamp TLV Definitions for Mobile Ad
Hoc Networks (MANETs)", RFC 7182, April 2014.
[RFC7188] Dearlove, C. and T. Clausen, "Optimized Link State Routing
Protocol version 2 (OLSRv2) and MANET Neighborhood
Discovery Protocol (NHDP) Extension TLVs", RFC 7188,
April 2014.
Authors' Addresses
Christopher Dearlove
BAE Systems Advanced Technology Centre
West Hanningfield Road
Great Baddow, Chelmsford
United Kingdom
Phone: +44 1245 242194
Email: chris.dearlove@baesystems.com
URI: http://www.baesystems.com/
Dearlove & Clausen Expires May 14, 2015 [Page 15]
Internet-Draft TLV Naming November 2014
Thomas Heide Clausen
LIX, Ecole Polytechnique
Phone: +33 6 6058 9349
Email: T.Clausen@computer.org
URI: http://www.ThomasClausen.org/
Dearlove & Clausen Expires May 14, 2015 [Page 16]