RFC 9927 PROPOSED STANDARD IPV6 · NEIGHBOR DISCOVERY · 6LOWPAN

EARO C-flag fix: Fixing the C-Flag in the Extended Address Registration Option (EARO)

Moves the C-flag to bit 1 of the EARO flags field so it no longer overlaps the P-field.

On rfc-editor.org ↗
PUBLISHED
February 2026
AUTHORS
P. Thubert, A. Rashid
STREAM
IETF
BUILDS ON
RFC 8928 — AP-ND
NEW C-FLAG POSITION
Bit 1 of the EARO flags field
OLD C-FLAG POSITION
Bit 3
EARO OPTION TYPE
33
P-FIELD
2 bits (bits 2 and 3)
ROVR LENGTH
64, 128, 192 or 256 bits
DOI
10.17487/RFC9927

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                        P. Thubert
Request for Comments: 9927
Updates: 8928                                                  A. Rashid
Category: Standards Track                            Politecnico di Bari
ISSN: 2070-1721                                            February 2026


  Fixing the C-Flag in the Extended Address Registration Option (EARO)

Abstract

   This document updates "Address-Protected Neighbor Discovery for Low-
   Power and Lossy Networks" (RFC 8928) by changing the position of the
   C-flag in the Extended Address Registration Option (EARO) and
   registering it with IANA.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   https://www.rfc-editor.org/info/rfc9927.

Copyright Notice

   Copyright (c) 2026 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
   (https://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 Revised BSD License text as described in Section 4.e of the
   Trust Legal Provisions and are provided without warranty as described
   in the Revised BSD License.

Table of Contents

   1.  Introduction
   2.  Terminology
     2.1.  Requirements Language
     2.2.  Related Documents
     2.3.  Acronyms
   3.  Updating RFC 8928
   4.  Security Considerations
   5.  Operational Considerations
   6.  IANA Considerations
     6.1.  Bit Position of the C-flag
   7.  References
     7.1.  Normative References
     7.2.  Informative References
   Authors' Addresses

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.  Related Documents

   This document uses terms and concepts that are discussed in IPv6
   Neighbor Discovery (ND) [RFC4861], [RFC4862], as well as 6LoWPAN-ND
   [RFC6775], [RFC8505], [RFC8928], [RFC8929], [RFC9685], and [RFC9926].

2.3.  Acronyms

   This document uses the following abbreviations:

   6LN:  6LoWPAN Node

   EARO:  Extended Address Registration Option

   ND:  Neighbor Discovery

   RATInd:  Registered Address Type Indicator

   ROVR:  Registration Ownership Verifier

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 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, ensuring there are no overlapping
   definitions.

   Figure 1 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 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:  Defined in [RFC9926]

   Prefix Length  Defined in [RFC9926]

   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:  Defined in [RFC8505]

   r (reserved):  1-bit reserved field in NS(EARO) and NA(EARO) as
      depicted in Figure 1 and Figure 2.  2-bit reserved field (most
      significant bits of Status filed) in NA(EARO) as depicted in
      Figure 2.  All reserved field 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,
      anycast, or derived from the registered unicast prefix.  Used to
      transport the RATInd in different protocols.  The values for the
      RATInd field are available in [IANA.ICMP.ARO.P-FIELD].

   I:  Defined in [RFC8505]

   R:  Defined in [RFC8505]

   T:  Defined in [RFC8505]

   TID (Transaction ID):  Defined in [RFC8505]

   Registration Lifetime:  Defined in [RFC8505]

   Registration Ownership Verifier (ROVR):  Defined in [RFC8505].
      Variable-length field used to verify who "owns" a registered IPv6
      address.  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.  Operational Considerations

   The updates introduced in this document are not backward compatible.
   However, given that there are no known implementations or deployments
   of [RFC8928], this document does not require any transition plan.

6.  IANA Considerations

6.1.  Bit Position of the C-flag

   IANA has updated the "Address Registration Option Flags"
   [IANA.ICMP.ARO.FLG] registry in the "Internet Control Message
   Protocol version 6 (ICMPv6) Parameters" registry group as specified
   in Table 1 so this document is referenced in addition to [RFC8928]
   for bit number 1:

           +============+=============+========================+
           | Bit Number | Description | Reference              |
           +============+=============+========================+
           | 1          | C-Flag      | RFC 9927 and [RFC8928] |
           +------------+-------------+------------------------+

                    Table 1: Bit Position of the C-flag

7.  References

7.1.  Normative References

   [IANA.ICMP.ARO.FLG]
              IANA, "Address Registration Option Flags",
              <https://www.iana.org/assignments/icmpv6-parameters>.

   [IANA.ICMP.ARO.P-FIELD]
              IANA, "P-Field Values",
              <https://www.iana.org/assignments/icmpv6-parameters>.

   [IANA.ICMP.ARO.STAT]
              IANA, "Address Registration Option Status Values",
              <https://www.iana.org/assignments/icmpv6-parameters>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <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, September 2007,
              <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, September 2007,
              <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, November 2012,
              <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,
              May 2017, <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, November 2018,
              <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, November
              2020, <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, April 2021,
              <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, November 2024,
              <https://www.rfc-editor.org/info/rfc9685>.

   [RFC9926]  Thubert, P., Ed., "Prefix Registration for IPv6 Neighbor
              Discovery", RFC 9926, DOI 10.17487/RFC9926, February 2026,
              <https://www.rfc-editor.org/info/rfc9926>.

7.2.  Informative References

   [RFC8929]  Thubert, P., Ed., Perkins, C.E., and E. Levy-Abegnoli,
              "IPv6 Backbone Router", RFC 8929, DOI 10.17487/RFC8929,
              November 2020, <https://www.rfc-editor.org/info/rfc8929>.

Authors' Addresses

   Pascal Thubert
   06330 Roquefort-les-Pins
   France
   Email: pascal.thubert@gmail.com


   Adnan Rashid
   Politecnico di Bari
   Via Edoardo Orabona 4
   70126 Bari
   Italy
   Email: adnan.rashid@poliba.it

AI ELI5

On this page
PROBLEMRFC 8928 put the C-flag at bit 3 of the EARO flags field without registering it with IANA, and RFC 9685 later defined the P-field in bits 2 and 3, so the two overlapped.
MECHANISMRFC 9927 moves the C-flag to bit 1 of the EARO flags field, redraws the EARO formats for NS and NA messages, and registers bit 1 with IANA.
THE CATCHThe change is not backward compatible, but the RFC notes there are no known implementations or deployments of RFC 8928, so no transition plan is needed.

§1The Overlapping Flag

RFC 8928 (Address-Protected Neighbor Discovery for Low-Power and Lossy Networks) defined the C-flag in the Extended Address Registration Option (EARO). It indicates that the Registration Ownership Verifier (ROVR) field holds a Crypto-ID and that the 6LoWPAN Node (6LN) may be challenged for ownership of the registered address.

RFC 8928 placed the flag at bit position 3. Later, RFC 9685 defined a P-field in bits 2 and 3 of the EARO flags field, with proper IANA registration. That overlapped the C-flag drawn in Figure 1 of RFC 8928.

Two rules claimed the same spot on the same form, so one had to move.

§3What Changes in RFC 8928

RFC 9927 repositions the C-flag to bit 1 of the EARO flags field, so no definitions overlap. It also corrects a naming slip: RFC 8928 called the option the Enhanced Address Registration Option, and this document fixes that to Extended throughout.

Its Figure 1 replaces Figure 1 of RFC 8928 for an EARO in a Neighbor Solicitation (NS), and its Figure 2 does so for a Neighbor Advertisement (NA). The two differ only in bits 16 to 23.

The C-flag stays a 1-bit flag. It is set to show that the ROVR field contains a Crypto-ID and that the 6LN MAY be challenged for ownership.

The checkbox keeps its meaning but gets a new box on the form, and the old form is replaced.

§3.1The Updated EARO Fields

The flags row now reads r, C, P (2 bits), I (2 bits), R and T, followed by the 8-bit TID and the 16-bit Registration Lifetime. Then comes the ROVR, which is 64, 128, 192 or 256 bits.

The P field is a 2-bit Registered Address Type Indicator (RATInd): unicast, multicast, anycast, or derived from the registered unicast prefix. Status is a 6-bit unsigned integer used only in NA(EARO) messages; it MUST be 0 in NS(EARO) unless the registration is for a prefix, in which case the F-flag is set. Reserved bits MUST be set to zero by the sender and ignored by the receiver. The option Type is 33.

The form has small boxes in a row. Each one holds one fact, and the reserved boxes stay empty.

EARO IN AN NS MESSAGE, WITHOUT THE ROVR (RFC 9927 FIGURE 1)
EARO (NS), fixed part
FieldNameSizeValueDescription
TYPEType1 byte33Option type.
LENGTHLength1 byteDefined in RFC 8505.
FF1 bitsDefined in RFC 9926.
PREFIX-LENGTHPrefix Length7 bitsDefined in RFC 9926.
OPAQUEOpaque1 byteDefined in RFC 8505.
Rr1 bitsReserved; zero on send.
CC1 bitsROVR holds a Crypto-ID; the 6LN may be challenged.
PP2 bitsRegistered Address Type Indicator.
II2 bitsDefined in RFC 8505.
R2R1 bitsDefined in RFC 8505.
TT1 bitsDefined in RFC 8505.
TIDTID1 byteTransaction ID, defined in RFC 8505.
LIFETIMERegistration Lifetime2 bytesDefined in RFC 8505.

§4Security Considerations

This specification introduces no new security considerations beyond those already discussed in RFC 8928 and RFC 8505.

Only the spot of one checkbox moved, so there is nothing new to worry about.

§5Operational Considerations

The updates in this document are not backward compatible. However, the RFC states that there are no known implementations or deployments of RFC 8928, so it requires no transition plan.

Old forms will not match the new one, but nobody was using the old form yet.

§6IANA Registration

IANA has updated the Address Registration Option Flags registry in the ICMPv6 Parameters registry group. Bit number 1, the C-Flag, now cites RFC 9927 in addition to RFC 8928.

The official list now says the checkbox lives in bit 1.

§7References