Internet-Draft RFC 8928-Fix May 2025
Thubert & Rashid Expires 18 November 2025 [Page]
Workgroup:
6lo
Updates:
8928 (if approved)
Published:
Intended Status:
Standards Track
Expires:
Authors:
P. Thubert
A. Rashid
Politecnico di Bari

Fixing the C-Flag in EARO

Abstract

This document updates RFC 8928, “Address-Protected Neighbor Discovery for Low-Power and Lossy Networks” (AP-ND), by updating the bit position for the C-flag in the Extended Address Registration Option (EARO) and registering it with IANA.

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-Drafts is at https://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 18 November 2025.

Table of Contents

1. Introduction

The Address-Protected Neighbor Discovery for Low-Power and Lossy Networks (AP-ND) [RFC8928] defined the C-flag in EARO. It is used to indicate that the Registration Ownership Verifier (ROVR) field contains a Crypto-ID and that the 6LoWPAN Node (6LN) may be challenged for ownership of the registered address. Initially [RFC8928] defined the C-flag in the EARO in bit position 3; later [RFC9685] defined the P-field in bits 2 and 3 of the EARO flags field with proper IANA registration, causing an overlap with Figure 1 of [RFC8928] which depicts the location of the C-flag.

This specification updates [RFC8928] by repositioning the C-flag as bit 1 of the EARO flags field, thereby preventing conflicts.

2. Terminology

2.1. Requirements Language

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 BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

2.2. References

This document uses terms and concepts that are discussed in Neighbor Discovery (ND) for IPv6 [RFC4861], [RFC4862] and Subnet ND [RFC6775], [RFC8505] [RFC8928], [RFC8929] [RFC9685], and [I-D.ietf-6lo-prefix-registration].

2.3. Acronyms

This document uses the following abbreviations:

6LN:
6LoWPAN Node
AP-ND:
Address-Protected Neighbor Discovery
ARO:
Address Registration Option
DAD:
Duplicate Address Detection
EARO:
Extended Address Registration Option
LLN:
Low-Power and Lossy Network
LoWPAN:
Low-Rate Wireless Personal Area Network (IEEE Std. 802.15.4) [IEEE802154]
ND:
Neighbor Discovery
RATInd:
Registered Address Type Indicator
ROVR:
Registration Ownership Verifier
TID:
Transaction ID

3. Updating RFC 8928

[RFC8928] incorrectly refers to the Extended Address Registration Option (EARO) as the Enhanced Address Registration Option. This specification corrects this terminology throughout the document.

In [RFC8928], the C-flag is specified in the EARO flags field at bit position 3 (as depicted in the Figure 1 of [RFC8928]); however, [RFC8928] fails to register its position with IANA. Later, [RFC9685] defined the P-field in bits 2 and 3 of the EARO flags field and obtained proper IANA registration, but this introduced an overlap with the representation in [RFC8928]. To resolve the conflict, this specification updates [RFC8928] by repositioning the C-flag to bit 1 of the EARO flags field, thereby avoiding the overlapping definitions.

Figure 1 below replaces Figure 1 in [RFC8928] in the case of an EARO used in an NS message.

   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |     Type      |     Length    |F|Prefix Length|    Opaque     |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |r|C| P | I |R|T|     TID       |     Registration Lifetime     |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
 ...            Registration Ownership Verifier (ROVR)           ...
  |                  (64, 128, 192, or 256 bits)                  |
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Extended Address Registration Option (EARO) Format for use in NS messages

Figure 2 below replaces Figure 1 in [RFC8928] in the case of an EARO used in an NA message. The difference between the two formats is in the usage of bits 16 to 23.

   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |     Type      |     Length    | r |  Status   |    Opaque     |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |r|C| P | I |R|T|     TID       |     Registration Lifetime     |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
 ...            Registration Ownership Verifier (ROVR)           ...
  |                  (64, 128, 192, or 256 bits)                  |
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Extended Address Registration Option (EARO) Format for use in NA messages

Option fields of interest for this specification:

Type:
33
Length:
Defined in [RFC8505].
F:
1-bit flag; set to 1 to indicate that the sender expects other routers to forward packets to self when the packets are sourced within the registered prefix. For use in NS messages only [I-D.ietf-6lo-prefix-registration].
Prefix Length
7-bit integer. This field contains a prefix length expressed in bits if the P-field is set to 3 and the EARO is placed in an NS message. In that case, the value MUST be at least 16 and at most 120. The field contains a Status if the EARO is placed in an NA message regardless of the setting of the P-flag. In all other cases, it is reserved, so it MUST be set to 0 by the sender and ignored by the receiver. For use in NS messages only [I-D.ietf-6lo-prefix-registration].
Status:
6-bit unsigned integer. This field is used in NA(EARO) response messages only to indicate the status of a registration. This field is defined in [RFC8505] and resized by [RFC9010]. The values for the Status field are available in [IANA.ICMP.ARO.STAT]. This field MUST be set to 0 in NS(EARO) messages unless the registration is for a prefix, in which case the F-flag is set and the prefix length is provided.
Opaque:
8-bit field opaque to ND. It MUST be set to 0 when not used. Defined in [RFC8505].
r (reserVed):
1-bit reserved field. It MUST be set to zero by the sender and MUST be ignored by the receiver.
C:
1-bit flag, moved from its position in Figure 1 of [RFC8928]. It is set to indicate that the ROVR field contains a Crypto-ID and that the 6LN MAY be challenged for ownership.
P:
2-bit field for Registered Address Type Indicator (RATInd). Indicates whether the registered address is unicast, multicast, or anycast, or derived from the unicast prefix that is being registered. Used to transport the RATInd in different protocols. The values for the RATInd field are available in [IANA.ICMP.ARO.P-FIELD].
I:
2-bit integer field that helps to decide how to use the 8-bit Opaque field. When 0, it means the Opaque field has info about the default routing path. Other values are reserved. Defined in [RFC8505].
R:
1-bit flag. Registering Node sets the R-flag to request reachability services for the Registered Address from a Routing Registrar. Defined in [RFC8505].
T:
1-bit flag. Set if the next octet is used as a TID. Defined in [RFC8505].
TID (Transaction ID):
8-bit unsigned integer that tracks transactions for registrations. It is incremented with each new transaction and ignored unless the T-flag is set. Defined in [RFC8505].
Registration Lifetime:
16-bit integer representing the lifetime in minutes of the Registered Address. Zero indicates the registration has ended, and the associated state MUST be removed. Defined in [RFC8505].
Registration Ownership Verifier (ROVR):
Variable length field, used to verify who "owns" a registered IPv6 address [RFC8505]. When the C-flag is set, this field contains a Crypto-ID [RFC8928].

4. Security Considerations

This specification does not introduce any new security considerations beyond those already discussed in [RFC8928] and [RFC8505].

5. IANA Considerations

5.1. Bit Position of the C-flag

This specification updates the location of the C-flag introduced in [RFC8928] to position it as bit 1 in the EARO flags field. IANA is requested to reference this RFC in addition to [RFC8928] when updating the "Address Registration Option Flags" [IANA.ICMP.ARO.FLG] registry under the heading "Internet Control Message Protocol version 6 (ICMPv6) Parameters" as specified in Table 1:

Table 1: Bit Position of the C-flag
ARO flag Meaning Reference
1 (suggested) C-Flag RFC This and RFC 8928

6. Normative References

[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC4861]
Narten, T., Nordmark, E., Simpson, W., and H. Soliman, "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, DOI 10.17487/RFC4861, , <https://www.rfc-editor.org/info/rfc4861>.
[RFC4862]
Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless Address Autoconfiguration", RFC 4862, DOI 10.17487/RFC4862, , <https://www.rfc-editor.org/info/rfc4862>.
[RFC6775]
Shelby, Z., Ed., Chakrabarti, S., Nordmark, E., and C. Bormann, "Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)", RFC 6775, DOI 10.17487/RFC6775, , <https://www.rfc-editor.org/info/rfc6775>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
[RFC8505]
Thubert, P., Ed., Nordmark, E., Chakrabarti, S., and C. Perkins, "Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery", RFC 8505, DOI 10.17487/RFC8505, , <https://www.rfc-editor.org/info/rfc8505>.
[RFC8928]
Thubert, P., Ed., Sarikaya, B., Sethi, M., and R. Struik, "Address-Protected Neighbor Discovery for Low-Power and Lossy Networks", RFC 8928, DOI 10.17487/RFC8928, , <https://www.rfc-editor.org/info/rfc8928>.
[RFC9010]
Thubert, P., Ed. and M. Richardson, "Routing for RPL (Routing Protocol for Low-Power and Lossy Networks) Leaves", RFC 9010, DOI 10.17487/RFC9010, , <https://www.rfc-editor.org/info/rfc9010>.
[RFC9685]
Thubert, P., Ed., "Listener Subscription for IPv6 Neighbor Discovery Multicast and Anycast Addresses", RFC 9685, DOI 10.17487/RFC9685, , <https://www.rfc-editor.org/info/rfc9685>.
[I-D.ietf-6lo-prefix-registration]
Thubert, P., "IPv6 Neighbor Discovery Prefix Registration", Work in Progress, Internet-Draft, draft-ietf-6lo-prefix-registration-10, , <https://datatracker.ietf.org/doc/html/draft-ietf-6lo-prefix-registration-10>.
[IANA.ICMP.ARO.FLG]
IANA, "IANA Registry for the Address Registration Option Flags", IANA, https://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml#icmpv6-adress-registration-option-flags.
[IANA.ICMP.ARO.STAT]
IANA, "IANA Registry for the Address Registration Option Status Value", IANA, https://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml#address-registration.
[IANA.ICMP.ARO.P-FIELD]
IANA, "IANA Registry for the Address Registration Option Status Value", IANA, https://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml#p-field-values.

7. Informative References

[IEEE802154]
IEEE standard for Information Technology, "IEEE Std 802.15.4, Part. 15.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area Networks".
[RFC8929]
Thubert, P., Ed., Perkins, C.E., and E. Levy-Abegnoli, "IPv6 Backbone Router", RFC 8929, DOI 10.17487/RFC8929, , <https://www.rfc-editor.org/info/rfc8929>.

Authors' Addresses

Pascal Thubert
06330 Roquefort-les-Pins
France
Adnan Rashid
Politecnico di Bari
Via Edoardo Orabona 4
70126 Bari
Italy