RFC 7188

Optimized Link State Routing Protocol Version 2 (OLSRv2) and MANET Neighborhood Discovery Protocol (NHDP) Extension TLVs

๐Ÿ“… published April 2014, from ietf

okay bestie, this is RFC 7188 and it's giving extension TLVs for two MANET routing protocols ๐Ÿ’… it's a Standards Track doc from April 2014 (ISSN 2070-1721), written by C. Dearlove (BAE Systems ATC) and T. Clausen (LIX, Ecole Polytechnique). it updates RFC 6130 (NHDP) and RFC 7181 (OLSRv2). it doesn't say it obsoletes anything, so no obsoleting drama here ๐ŸŒธ

Abstract

okay so the abstract is basically: this spec tweaks the definitions of TLVs that OLSRv2 and NHDP use, so they're way more ready for future protocol extensions ๐ŸŽ€ it updates RFC 7181 (OLSRv2) and RFC 6130 (NHDP) too ๐Ÿ’œ

Status of This Memo

this is an Internet Standards Track document ๐ŸŒˆ

it's a product of the Internet Engineering Task Force (IETF), and it totally represents the consensus of the IETF community. it got public review and was approved for publication by the Internet Engineering Steering Group (IESG). if you want more on Internet Standards, check Section 2 of RFC 5741 โœจ

updates on this doc's status, any errata, and how to send feedback live at http://www.rfc-editor.org/info/rfc7188 ๐Ÿ”ฅ

Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved. ๐Ÿซถ

this doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as they were on the publication date. please read those carefully bc they spell out your rights and restrictions for this doc ๐Ÿ“œ and if you pull Code Components out of this doc, they have to include the Simplified BSD License text (see Section 4.e of the Trust Legal Provisions), and they come with no warranty, as the Simplified BSD License describes ๐Ÿ’–

Table of Contents

1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
3.  Applicability Statement . . . . . . . . . . . . . . . . . . .   3
4.  TLV Values  . . . . . . . . . . . . . . . . . . . . . . . . .   4
  4.1.  Unrecognized TLV Values . . . . . . . . . . . . . . . . .   4
  4.2.  TLV Value Lengths . . . . . . . . . . . . . . . . . . . .   5
  4.3.  Undefined TLV Values  . . . . . . . . . . . . . . . . . .   5
    4.3.1.  NHDP TLVs: LOCAL_IF, LINK_STATUS, and OTHER_NEIGHB  .   6
    4.3.2.  OLSRv2 TLVs: MPR and NBR_ADDR_TYPE  . . . . . . . . .   6
    4.3.3.  Unspecified TLV Values  . . . . . . . . . . . . . . .   6
5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   7
  5.1.  LOCAL_IF Address Block TLVs . . . . . . . . . . . . . . .   7
    5.1.1.  New Registry  . . . . . . . . . . . . . . . . . . . .   7
    5.1.2.  Modification to Existing Registry . . . . . . . . . .   8
  5.2.  LINK_STATUS Address Block TLVs  . . . . . . . . . . . . .   8
    5.2.1.  New Registry  . . . . . . . . . . . . . . . . . . . .   8
    5.2.2.  Modification to Existing Registry . . . . . . . . . .   9
  5.3.  OTHER_NEIGHB Address Block TLVs . . . . . . . . . . . . .  10
    5.3.1.  Create New Registry . . . . . . . . . . . . . . . . .  10
    5.3.2.  Modification to Existing Registry . . . . . . . . . .  11
  5.4.  MPR Address Block TLVs  . . . . . . . . . . . . . . . . .  11
    5.4.1.  New Registry  . . . . . . . . . . . . . . . . . . . .  11
    5.4.2.  Modification to Existing Registry . . . . . . . . . .  12
  5.5.  NBR_ADDR_TYPE Address Block TLVs  . . . . . . . . . . . .  12
    5.5.1.  New Registry  . . . . . . . . . . . . . . . . . . . .  12
    5.5.2.  Modification to Existing Registry . . . . . . . . . .  13
6.  Security Considerations . . . . . . . . . . . . . . . . . . .  14
7.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .  15
8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  15
  8.1.  Normative References  . . . . . . . . . . . . . . . . . .  15
  8.2.  Informative References  . . . . . . . . . . . . . . . . .  15

1. Introduction ๐ŸŒธ

okay so NHDP [RFC6130] and OLSRv2 [RFC7181] are routing protocols for Mobile Ad Hoc Networks (MANETs) [RFC2501], and they're built on the Generalized MANET Packet/Message Format [RFC5444] ๐Ÿงš

this doc updates [RFC6130] and [RFC7181], specifically how they use TLV (Type-Length-Value) elements. the goal is to make these protocols way more extensible and to unlock some implementation improvements ๐Ÿ’…

this spec also narrows how much room implementations of [RFC6130] and [RFC7181] have to call a message "badly formed" and reject it, when the message is one that won't be created by implementations just following those specs. that gives extension authors more freedom, especially for extensions that play nicely with unextended implementations of those protocols ๐Ÿซถ so it spells out how TLVs with unexpected value fields are handled, and it adds some extra options to those TLVs โœจ

quick note: TLVs with an unknown type or type extension are already specified to be ignored by [RFC6130] and [RFC7181], and they're already not a reason to reject a message ๐Ÿฆ‹

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] ๐Ÿ”ฅ

also, this doc uses the terminology from [RFC5444], [RFC6130], and [RFC7181] ๐Ÿ“

3. Applicability Statement ๐ŸŽ€

this doc updates the protocols described in [RFC6130] and [RFC7181] ๐ŸŒˆ

here's exactly how it updates them:

  • it removes the freedom to reject a message that has a TLV with a known type but an unexpected TLV Value field, for the TLV Types defined in [RFC6130] and [RFC7181] ๐Ÿ’…
  • it specifies how to handle a TLV Value field with an unexpected length โœจ
  • it sets up IANA registries for TLV Values for the Address Block TLVs:
    • LOCAL_IF, defined in [RFC6130].
    • LINK_STATUS, defined in [RFC6130].
    • OTHER_NEIGHB, defined in [RFC6130].
    • MPR, defined in [RFC7181], now considered as a bit field.
    • NBR_ADDR_TYPE, defined in [RFC7181], now considered as a bit field.
  • it defines a well-known TLV Value for "UNSPECIFIED" for the Address Block TLV Types LOCAL_IF, LINK_STATUS, and OTHER_NEIGHB, all defined in [RFC6130] ๐Ÿฆ‹

4. TLV Values ๐Ÿงšโ€โ™€๏ธ

NHDP [RFC6130] and OLSRv2 [RFC7181] define a bunch of TLVs within the framework of [RFC5444] ๐ŸŒธ but these TLVs only define the meaning of some of the things that can show up in a TLV Value field. that limit can come from only defining certain TLV Values, or from only considering some lengths of the TLV Value fields (or a single-value field inside a multivalue Address-Block TLV). this spec explains how NHDP [RFC6130] and OLSRv2 [RFC7181] should handle TLVs with the other TLV Value fields ๐Ÿ’–

4.1. Unrecognized TLV Values ๐Ÿ”ฅ

so NHDP and OLSRv2 say that, on top of the well-defined reasons in their own protocol specs, an implementation of these protocols MAY recognize a message as "badly formed" and therefore "invalid for processing" for other reasons (Section 12.1 of [RFC6130] and Section 16.3.1 of [RFC7181]). those sections could be read as letting an implementation reject a message just because a TLV Value field isn't recognized. this spec removes that wiggle room ๐Ÿ’…

  • An implementation MUST NOT reject a message because it contains an unrecognized TLV value. Instead, any unrecognized TLV Value field MUST be processed or ignored by an unextended implementation of NHDP or OLSRv2, as described in the following sections. โœจ
  • so this spec removes the 7th, 10th, and 11th bullets in Section 12.1 of [RFC6130] ๐Ÿซถ

it's really important to stress that this is not a change to [RFC6130] or [RFC7181], except for not letting this be a reason to reject a message ๐ŸŒˆ [RFC6130] and [RFC7181] are written in terms like "if an address is associated with a value of LOST by a LINK_STATUS TLV". an association with an unrecognized value has no effect on any implementation that strictly follows a spec like that ๐Ÿฆ‹

4.2. TLV Value Lengths ๐ŸŽ€

the TLVs in [RFC6130] and [RFC7181] can be either single-value or multivalue TLVs. either way, the length of each item of information in the TLV Value field is the "single-length", defined and calculated as in Section 5.4.1 of [RFC5444]. all TLVs in [RFC6130] and [RFC7181] have a one- or two-octet single-length. those are treated as the expected single-lengths of such a received TLV ๐Ÿ“

other single-length TLV Value fields might show up through extensions to [RFC6130] and [RFC7181]. this doc specifies how implementations of [RFC6130] and [RFC7181], or extensions of them, MUST behave when they receive TLVs of the types defined in [RFC6130] and [RFC7181] but with TLV Value fields that have other single-length values ๐Ÿ’œ

the following principles apply:

  • If the received single-length is greater than the expected single-length, then the excess octets MUST be ignored. ๐Ÿ”ฅ
  • If the received single-length is less than the expected single-length, then the absent octets MUST be considered to have all bits cleared (0). โœจ

exception bestie ๐Ÿ™ˆ:

  • A received CONT_SEQ_NUM with a single-length < 2 SHOULD be considered an error. ๐Ÿ’€

4.3. Undefined TLV Values ๐ŸŒˆ

[RFC6130] and [RFC7181] define a bunch of TLVs, but for some of them they only specify meanings for some of the TLV Values. this doc sets up IANA registries for these TLV Values, with the initial registrations matching what [RFC6130] and [RFC7181] already use, as specified in Section 4.3.3 ๐Ÿฆ‹

there are different cases of TLV Values with different characteristics, and this section walks through them ๐Ÿ’…

for the Address-Block TLVs LOCAL_IF, LINK_STATUS, and OTHER_NEIGHB in [RFC6130], only a limited number of values are specified for each one. this spec turns those into extensible registries, with initial registrations for the values that [RFC6130] defines and uses. see Section 5 for the details ๐ŸŒธ

an implementation of [RFC6130] that receives a LOCAL_IF, LINK_STATUS, or OTHER_NEIGHB TLV with any TLV Value other than the values defined in [RFC6130] MUST ignore that TLV Value, as well as any corresponding attribute association to the address. ๐Ÿซถ

4.3.2. OLSRv2 TLVs: MPR and NBR_ADDR_TYPE ๐ŸŽ€

okay so the Address-Block TLVs MPR and NBR_ADDR_TYPE, defined in [RFC7181], are kinda like the ones in [RFC6130] because they only have a few values specified: 1, 2, and 3 ๐Ÿ’œ. Values 1 and 2 each stand for the presence of one of two different attributes attached to an address, and 3 means "both 1 and 2" โœจ.

These TLV Value fields are, by this specification, converted to bit fields, and they MUST be interpreted as such ๐Ÿซถ. The existing definitions of values 1, 2, and 3 already behave that way, so it's likely this won't change anything in an implementation ๐Ÿฆ‹. But any test of (for example) Value = 1 or Value = 3 MUST be converted to a test of (for example) Value bitand 1 = 1, where "bitand" denotes a bitwise AND operation ๐Ÿงฎ.

This specification creates registries for recording reservations of the individual bits in these bit fields, with initial registrations for values defined and used by [RFC7181]. See Section 5 for the deets ๐Ÿ“š.

Other TLVs defined by [RFC7181] are not affected by this specification ๐ŸŒธ.

4.3.3. Unspecified TLV Values ๐Ÿงš

the registries defined in Section 5 for the LOCAL_IF, LINK_STATUS, and OTHER_NEIGHB TLVs each include an extra TLV Value called UNSPECIFIED ๐Ÿ“. This TLV Value is a defined value that, just like the currently undefined TLV Values, means that no information is associated with this address. The defined value will always have this meaning, no exceptions ๐Ÿ”’. A TLV Value like this can help make multivalue Address Block TLVs more efficient or keep an implementation simpler ๐Ÿ’….

The similar requirement for the MPR and NBR_ADDR_TYPES TLVs is already satisfied by the TLV Value zero, as long as each bit in the TLV Value is defined as set ('1') when it indicates the presence of an attribute, or clear ('0') when it indicates the absence of an attribute โœจ. So this is required for registrations from the relevant registries. See Section 5 ๐ŸŒˆ.

For the LINK_METRIC TLV, you can already do this by clearing the most significant bits (0 to 3) of the first octet of the TLV Value ๐Ÿซง. In this case it is RECOMMENDED that the remaining bits of the TLV Value are either all clear ('0') or all set ('1') ๐Ÿ’–.

5. IANA Considerations ๐Ÿ‘‘

IANA has completed the ten actions set out in the following sections ๐ŸŽ€.

5.1. LOCAL_IF Address Block TLVs ๐ŸŒธ

5.1.1. New Registry ๐Ÿฆ‹

IANA has created a new sub-registry called "LOCAL_IF TLV Values" within the "Mobile Ad hoc NETwork (MANET) Parameters" registry โœจ.

IANA has populated this registry as specified in Table 1 ๐Ÿ’œ.

+---------+-------------+-------------------------------+-----------+
| Value   | Name        | Description                   | Reference |
+---------+-------------+-------------------------------+-----------+
| 0       | THIS_IF     | The network address is        | RFC 7188  |
|         |             | associated with this local    |           |
|         |             | interface of the sending      |           |
|         |             | router                        |           |
|         |             |                               |           |
| 1       | OTHER_IF    | The network address is        | RFC 7188  |
|         |             | associated with another local |           |
|         |             | interface of the sending      |           |
|         |             | router                        |           |
|         |             |                               |           |
| 2-223   |             | Unassigned                    |           |
|         |             |                               |           |
| 224-254 |             | Reserved for Experimental Use | RFC 7188  |
|         |             |                               |           |
| 255     | UNSPECIFIED | No information about this     | RFC 7188  |
|         |             | network address is provided   |           |
+---------+-------------+-------------------------------+-----------+

Table 1: LOCAL_IF TLV Values

New assignments are to be made by Expert Review [RFC5226] ๐Ÿ“.

The Designated Experts are required to use the guidelines specified in [RFC6130] and [RFC7181] ๐Ÿง.

5.1.2. Modification to Existing Registry ๐Ÿ“

IANA maintains a sub-registry called "LOCAL_IF Address Block TLV Type Extensions" within the "Mobile Ad hoc NETwork (MANET) Parameters" registry. This sub-registry already had an entry for value 0. IANA has replaced the entry in the Description column for this value with the text "This value is to be interpreted according to the registry LOCAL_IF TLV Values". The resulting table is as specified in Table 2 ๐Ÿซถ.

+-----------+-----------------------------------------+-------------+
| Type      | Description                             | Reference   |
| Extension |                                         |             |
+-----------+-----------------------------------------+-------------+
| 0         | This value is to be interpreted         | RFC 6130,   |
|           | according to the registry LOCAL_IF TLV  | RFC 7188    |
|           | Values                                  |             |
|           |                                         |             |
| 1-255     | Unassigned                              |             |
+-----------+-----------------------------------------+-------------+

Table 2: LOCAL_IF Address Block TLV Type Extensions Modifications

5.2.1. New Registry ๐Ÿงš

IANA has created a new sub-registry called "LINK_STATUS TLV Values" within the "Mobile Ad hoc NETwork (MANET) Parameters" registry โœจ.

IANA has populated this registry as specified in Table 3 ๐Ÿ’….

+---------+-------------+-------------------------------+-----------+
| Value   | Name        | Description                   | Reference |
+---------+-------------+-------------------------------+-----------+
| 0       | LOST        | The link on this interface    | RFC 7188  |
|         |             | from the router with that     |           |
|         |             | network address has been lost |           |
|         |             |                               |           |
| 1       | SYMMETRIC   | The link on this interface    | RFC 7188  |
|         |             | from the router with that     |           |
|         |             | network address has the       |           |
|         |             | status of symmetric           |           |
|         |             |                               |           |
| 2       | HEARD       | The link on this interface    | RFC 7188  |
|         |             | from the router with that     |           |
|         |             | network address has the       |           |
|         |             | status of heard               |           |
|         |             |                               |           |
| 3-223   |             | Unassigned                    |           |
|         |             |                               |           |
| 224-254 |             | Reserved for Experimental Use | RFC 7188  |
|         |             |                               |           |
| 255     | UNSPECIFIED | No information about this     | RFC 7188  |
|         |             | network address is provided   |           |
+---------+-------------+-------------------------------+-----------+

Table 3: LINK_STATUS TLV Values

New assignments are to be made by Expert Review [RFC5226] ๐Ÿ“.

The Designated Experts are required to use the guidelines specified in [RFC6130] and [RFC7181] ๐Ÿง.

5.2.2. Modification to Existing Registry ๐Ÿฆ‹

IANA maintains a sub-registry called "LINK_STATUS Address Block TLV Type Extensions" within the "Mobile Ad hoc NETwork (MANET) Parameters" registry. This sub-registry already had an entry for value 0. IANA has replaced the entry in the Description column for this value with the text "This value is to be interpreted according to the registry LINK_STATUS TLV Values". The resulting table is as specified in Table 4 ๐Ÿ’–.

+-----------+------------------------------------------+------------+
| Type      | Description                              | Reference  |
| Extension |                                          |            |
+-----------+------------------------------------------+------------+
| 0         | This value is to be interpreted          | RFC 6130,  |
|           | according to the registry LINK_STATUS    | RFC 7188   |
|           | TLV Values                               |            |
|           |                                          |            |
| 1-255     | Unassigned                               |            |
+-----------+------------------------------------------+------------+

Table 4: LINK_STATUS Address Block TLV Type Extensions Modifications

5.3. OTHER_NEIGHB Address Block TLVs ๐Ÿ‘‘

5.3.1. Create New Registry ๐ŸŒธ

IANA has created a new sub-registry called "OTHER_NEIGHB TLV Values" within the "Mobile Ad hoc NETwork (MANET) Parameters" registry โœจ.

IANA has populated this registry as specified in Table 5 ๐Ÿซง.

+---------+-------------+-------------------------------+-----------+
| Value   | Name        | Description                   | Reference |
+---------+-------------+-------------------------------+-----------+
| 0       | LOST        | The neighbor relationship     | RFC 7188  |
|         |             | with the router with that     |           |
|         |             | network address has been lost |           |
|         |             |                               |           |
| 1       | SYMMETRIC   | The neighbor relationship     | RFC 7188  |
|         |             | with the router with that     |           |
|         |             | network address is symmetric  |           |
|         |             |                               |           |
| 2-223   |             | Unassigned                    |           |
|         |             |                               |           |
| 224-254 |             | Reserved for Experimental Use | RFC 7188  |
|         |             |                               |           |
| 255     | UNSPECIFIED | No information about this     | RFC 7188  |
|         |             | network address is provided   |           |
+---------+-------------+-------------------------------+-----------+

Table 5: OTHER_NEIGHB Address Block TLV Values

New assignments are to be made by Expert Review [RFC5226] ๐Ÿ“.

The Designated Experts are required to use the guidelines specified in [RFC6130] and [RFC7181] ๐Ÿง.

5.3.2. Modification to Existing Registry โœจ

Okay bestie, IANA already runs a sub-registry called "OTHER_NEIGHB Address Block TLV Type Extensions" inside the "Mobile Ad hoc NETwork (MANET) Parameters" registry ๐ŸŽ€. It already had an entry for value 0. IANA swapped out the Description for that value so it now says "This value is to be interpreted according to the registry OTHER_NEIGHB TLV Values". Here's how the table looks now, Table 6 ๐Ÿ’…:

+-----------+------------------------------------------+------------+
| Type      | Description                              | Reference  |
| Extension |                                          |            |
+-----------+------------------------------------------+------------+
| 0         | This value is to be interpreted          | RFC 6130,  |
|           | according to the registry OTHER_NEIGHB   | RFC 7188   |
|           | TLV Values                               |            |
|           |                                          |            |
| 1-255     | Unassigned                               |            |
+-----------+------------------------------------------+------------+

Table 6: OTHER_NEIGHB Address Block TLV Type Extensions Modifications

5.4. MPR Address Block TLVs ๐Ÿฆ‹

5.4.1. New Registry ๐ŸŒธ

IANA made a brand new sub-registry called "MPR TLV Bit Values" inside the "Mobile Ad hoc NETwork (MANET) Parameters" registry, and it's already populated ๐Ÿ“. Table 7 is the full list:

+-----+-------+----------+------------------------------+-----------+
| Bit | Value | Name     | Description                  | Reference |
+-----+-------+----------+------------------------------+-----------+
| 7   | 0x01  | Flooding | The neighbor with that       | RFC 7188  |
|     |       |          | network address has been     |           |
|     |       |          | selected as flooding MPR     |           |
|     |       |          |                              |           |
| 6   | 0x02  | Routing  | The neighbor with that       | RFC 7188  |
|     |       |          | network address has been     |           |
|     |       |          | selected as routing MPR      |           |
|     |       |          |                              |           |
| 0-5 |       |          | Unassigned                   |           |
+-----+-------+----------+------------------------------+-----------+

Table 7: MPR Address Block TLV Bit Values

New assignments get handled by Expert Review [RFC5226] ๐Ÿ”ฅ. The Designated Experts are required to follow the guidelines in [RFC6130] and [RFC7181], and they also have to keep this sense intact:

  • For each bit in the field, a set bit (1) means that the address has the designated property, while an unset bit (0) means that no information about the designated property is provided. In particular, an unset bit must not be used to convey any specific information about the designated property.

5.4.2. Modification to Existing Registry ๐Ÿ’œ

IANA keeps a sub-registry called "MPR Address Block TLV Type Extensions" inside the "Mobile Ad hoc NETwork (MANET) Parameters" registry. It already had an entry for value 0, and IANA replaced that entry's Description with "This value is to be interpreted according to the registry MPR TLV Bit Values". Table 8 shows the result ๐Ÿงš:

+-----------+-----------------------------------------+-------------+
| Type      | Description                             | Reference   |
| Extension |                                         |             |
+-----------+-----------------------------------------+-------------+
| 0         | This value is to be interpreted         | RFC 7181,   |
|           | according to the registry MPR TLV Bit   | RFC 7188    |
|           | Values                                  |             |
|           |                                         |             |
| 1-255     | Unassigned                              |             |
+-----------+-----------------------------------------+-------------+

Table 8: MPR Address Block TLV Type Extensions Modifications

5.5. NBR_ADDR_TYPE Address Block TLVs ๐ŸŒˆ

5.5.1. New Registry โญ

IANA created a new sub-registry called "NBR_ADDR_TYPE Address Block TLV Bit Values" inside the "Mobile Ad hoc NETwork (MANET) Parameters" registry, and it's been populated as shown in Table 9 ๐Ÿซถ:

+-----+-------+------------+----------------------------+-----------+
| Bit | Value | Name       | Description                | Reference |
+-----+-------+------------+----------------------------+-----------+
| 7   | 0x01  | ORIGINATOR | The network address is an  | RFC 7188  |
|     |       |            | originator address         |           |
|     |       |            | reachable via the          |           |
|     |       |            | originating router         |           |
|     |       |            |                            |           |
| 6   | 0x02  | ROUTABLE   | The network address is a   | RFC 7188  |
|     |       |            | routable address reachable |           |
|     |       |            | via the originating router |           |
|     |       |            |                            |           |
| 0-5 |       |            | Unassigned                 |           |
+-----+-------+------------+----------------------------+-----------+

Table 9: NBR_ADDR_TYPE Address Block TLV Bit Values

New assignments are also made by Expert Review [RFC5226] ๐Ÿ’…. The Designated Experts are required to use the guidelines in [RFC6130] and [RFC7181], and they must make sure this sense is preserved:

  • For each bit in the field, a set bit (1) means that the address has the designated property, while an unset bit (0) means that no information about the designated property is provided. In particular, an unset bit must not be used to convey any specific information about the designated property.

5.5.2. Modification to Existing Registry ๐ŸŽ€

IANA maintains a sub-registry called "NBR_ADDR_TYPE Address Block TLV Type Extensions" inside the "Mobile Ad hoc NETwork (MANET) Parameters" registry. It already had an entry for value 0, and that entry's Description got replaced with "This value is to be interpreted according to the registry NBR_ADDR_TYPE TLV Bit Values". Table 10 is the updated version ๐Ÿฆ‹:

+-----------+-------------------------------------------+-----------+
| Type      | Description                               | Reference |
| Extension |                                           |           |
+-----------+-------------------------------------------+-----------+
| 0         | This value is to be interpreted according | RFC 7181, |
|           | to the registry NBR_ADDR_TYPE Address     | RFC 7188  |
|           | Block TLV Bit Values                      |           |
|           |                                           |           |
| 1-255     | Unassigned                                |           |
+-----------+-------------------------------------------+-----------+

Table 10: NBR_ADDR_TYPE Address Block TLV Type Extensions Modifications

6. Security Considerations ๐Ÿ’€

Okay, this part is seriously important, so pay attention ๐Ÿ™ˆ. The updates made to [RFC6130] and [RFC7181] have these security implications:

  • Created IANA registries for retaining TLV values for TLVs, already defined in the already published specifications of the two protocols, and with initial registrations for the TLV values defined by these specifications. This does not give rise to any additional security considerations.
  • Enabled protocol extensions for registering TLV values in the created IANA registries. Such extensions MUST specify appropriate security considerations.
  • Created, in some registries, a registration for "UNSPECIFIED" values for more efficient use of multivalue Address Block TLVs. The interpretation of an address being associated with a TLV of a given type and with the value "UNSPECIFIED" is identical to that address not being associated with a TLV of that type. Thus, this update does not give rise to any additional security considerations.
  • Reduced the latitude of implementations of the two protocols to reject a message as "badly formed" due to the value field of a TLV being unexpected. These protocols are specified in terms such as "if an address is associated with a value of LOST by a LINK_STATUS TLV". Association with an unknown value (or a value newly defined to mean no link status information) has no effect on such a specification. Thus, this update does not give rise to any additional security considerations.
  • Did not introduce any opportunities for attacks on the protocols through signal modification that are not already present in the two protocols.

7. Acknowledgments ๐Ÿซถ

The authors want to give a huge shoutout to the following people for intense technical discussions, early reviews, and comments on the specification (listed alphabetically): Ulrich Herberg (Fujitsu Laboratories of America) and Henning Rogge (Frauenhofer FKIE) ๐Ÿ‘‘.

The authors also want to thank Adrian Farrel for his help and contributions to getting this specification finished successfully and on time ๐ŸŒธ.

8. References ๐Ÿ“š

8.1. 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.

[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.

8.2. Informative References ๐Ÿงš

[RFC2501]  Macker, J. and S. Corson, "Mobile Ad hoc Networking
           (MANET): Routing Protocol Performance Issues and
           Evaluation Considerations", RFC 2501, January 1999.

[RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
           IANA Considerations Section in RFCs", BCP 26, RFC 5226,
           May 2008.

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/


Thomas Heide Clausen
LIX, Ecole Polytechnique

Phone: +33 6 6058 9349
EMail: T.Clausen@computer.org
URI:   http://www.ThomasClausen.org/
๐Ÿ“ฆ where this page comes from