rfc-7188

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

C. Dearlove, T. Clausen
date2014-04 streamIETF areartg wgmanet statusPROPOSED STANDARD pages16 canonicalhttps://www.rfc-editor.org/rfc/rfc7188 doi10.17487/RFC7188
This specification describes extensions to definitions of TLVs used by the Optimized Link State Routing Protocol version 2 (OLSRv2) and the MANET Neighborhood Discovery Protocol (NHDP) to increase their abilities to accommodate protocol extensions. This document updates RFC 7181 (OLSRv2) and RFC 6130 (NHDP).

updated by

updates

Extracted elements (22)

design-rationale §4.3.3

An UNSPECIFIED TLV value (255) is defined for LOCAL_IF, LINK_STATUS, and OTHER_NEIGHB to enable more efficient multivalue Address Block TLVs and simplify implementations; its interpretation is identical to the address not being associated with a TLV of that type.

routing

design-rationale §1

RFC 7188 removes the latitude of RFC 6130 and RFC 7181 implementations to reject messages with unrecognized TLV values, enabling protocol extensions that interoperate with unextended implementations. The original specs could be read as allowing rejection on this basis, which would block forward-compatible extensions.

routing

design-rationale §4.3.2

The MPR and NBR_ADDR_TYPE TLVs are respecified as bit fields rather than enumerated values because values 1, 2, and 3 already behaved as bit fields (1, 2, and 'both 1 and 2'), making the conversion natural and backward-compatible with existing implementations.

routing

interoperability-note §4.3.2

The conversion of MPR and NBR_ADDR_TYPE to bit fields is backward-compatible: existing implementations testing Value = 1 or Value = 3 already behave correctly if reinterpreted as bitwise AND tests, so no implementation change is likely required.

routing

interoperability-note §1

TLVs with unknown type or type extension are already specified to be ignored by RFC 6130 and RFC 7181 and are not a reason to reject a message; this document extends that tolerance to unknown TLV values for the TLV types defined in those RFCs.

routing

normative-requirement §4.2 SHOULD

A received CONT_SEQ_NUM with a single-length less than 2 SHOULD be considered an error.

routing

normative-requirement §4.1 MUST NOT

An implementation MUST NOT reject a message because it contains an unrecognized TLV value. Any unrecognized TLV Value field MUST be processed or ignored by an unextended implementation of NHDP or OLSRv2.

routing, registry

normative-requirement §4.3.1 MUST

An implementation of RFC 6130 that receives a LOCAL_IF, LINK_STATUS, or OTHER_NEIGHB TLV with any TLV Value other than the values defined in RFC 6130 MUST ignore that TLV Value, as well as any corresponding attribute association to the address.

routing

normative-requirement §5.4.1 MUST NOT

For the MPR and NBR_ADDR_TYPE bit-field registries, a set bit (1) must mean the address has the designated property, and an unset bit (0) must not be used to convey any specific information about the designated property.

routing, registry

normative-requirement §4.2 MUST

If the received single-length of a TLV Value field is less than the expected single-length, then the absent octets MUST be considered to have all bits cleared (0).

routing

normative-requirement §4.3.2 MUST

The MPR and NBR_ADDR_TYPE TLV Value fields are converted to bit fields and MUST be interpreted as such; any test of Value = 1 or Value = 3 MUST be converted to a bitwise AND test (e.g., Value bitand 1 = 1).

routing

protocol-element §5.2.1

The LINK_STATUS TLV value field is an enumerated single-octet value with values LOST (0), SYMMETRIC (1), and HEARD (2) describing the state of a link from a neighbor; value 255 (UNSPECIFIED) indicates no information.

routing

protocol-element §5.1.1

The LOCAL_IF TLV value field is an enumerated single-octet value. Values THIS_IF (0) and OTHER_IF (1) identify whether an address belongs to the sending interface or another interface of the same router; value 255 (UNSPECIFIED) indicates no information.

routing

protocol-element §5.4.1

The MPR TLV value field is respecified as a bit field. Bit 7 (0x01) indicates selection as flooding MPR; bit 6 (0x02) indicates selection as routing MPR; bits 0-5 are unassigned.

routing

protocol-element §5.5.1

The NBR_ADDR_TYPE TLV value field is a bit field. Bit 7 (0x01) indicates the address is an ORIGINATOR address; bit 6 (0x02) indicates it is a ROUTABLE address reachable via the originating router; bits 0-5 are unassigned.

routing

protocol-element §5.3.1

The OTHER_NEIGHB TLV value field is an enumerated single-octet value with values LOST (0) and SYMMETRIC (1) describing the neighbor relationship; value 255 (UNSPECIFIED) indicates no information.

routing

registry §5.2.1

IANA created a new sub-registry 'LINK_STATUS TLV Values' within the MANET Parameters registry, with values LOST (0), SYMMETRIC (1), HEARD (2), Unassigned (3-223), Reserved for Experimental Use (224-254), and UNSPECIFIED (255). New assignments by Expert Review.

registry, routing

registry §5.1.1

IANA created a new sub-registry 'LOCAL_IF TLV Values' within the MANET Parameters registry, with values THIS_IF (0), OTHER_IF (1), Unassigned (2-223), Reserved for Experimental Use (224-254), and UNSPECIFIED (255). New assignments by Expert Review.

registry, routing

registry §5.4.1

IANA created a new sub-registry 'MPR TLV Bit Values' within the MANET Parameters registry, with Flooding (bit 7, 0x01), Routing (bit 6, 0x02), and Unassigned bits 0-5. New assignments by Expert Review.

registry, routing

registry §5.5.1

IANA created a new sub-registry 'NBR_ADDR_TYPE Address Block TLV Bit Values' within the MANET Parameters registry, with ORIGINATOR (bit 7, 0x01), ROUTABLE (bit 6, 0x02), and Unassigned bits 0-5. New assignments by Expert Review.

registry, routing

registry §5.3.1

IANA created a new sub-registry 'OTHER_NEIGHB TLV Values' within the MANET Parameters registry, with values LOST (0), SYMMETRIC (1), Unassigned (2-223), Reserved for Experimental Use (224-254), and UNSPECIFIED (255). New assignments by Expert Review.

registry, routing

security-consideration §6

Reducing the latitude to reject messages with unexpected TLV values does not introduce new security concerns, because the protocols are specified in terms of specific value associations (e.g., 'if associated with LOST by LINK_STATUS TLV'); unknown values have no effect on such logic. Extensions using new TLV values MUST specify appropriate security considerations.

security, routing