Dear GAAO authors, all,
In my role of shepherd for draft-ietf-6lo-nd-gaao, and while 6man may still
provide further feedback in the next ~10 days, I have reviewed the document
(version -07).
In my opinion, the document is generally well written, clear, and complete.
Thanks for the work!
Most of my comments are editorial (there are a few minor technical ones).
Please find below my review (my comments are labeled '[CG]' and/or signaled
with '^^^').
Cheers,
Carles
----------------------------------------------------------------------------------------
6lo Working Group L. Iannone
Internet-Draft D. Lou
Intended status: Standards Track Huawei
Expires: 6 March 2026 A. Rashid
Politecnico di Bari
2 September 2025
Generic Address Assignment Option for 6LoWPAN Neighbor Discovery
draft-ietf-6lo-nd-gaao-07
Abstract
This document specifies a new extension to the IPv6 Neighbor
Discovery in Low Power and Lossy Networks (LLNs), enabling a node to
request to be assigned an address or a prefix from neighbor routers.
Such mechanism allows to algorithmically assign addresses and
prefixes to nodes in a 6LoWPAN deployment.
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 6 March 2026.
Copyright Notice
Copyright (c) 2025 IETF Trust and the persons identified as the
document authors. All rights reserved.
Iannone, et al. Expires 6 March 2026 [Page
1]Internet-Draft GAAO September
2025
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
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Requirements Notation . . . . . . . . . . . . . . . . . . 4
2.2. Acronyms . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3. Definition of Terms . . . . . . . . . . . . . . . . . . . 5
3. Algorithmically Assigned Addresses and Prefixes . . . . . . . 5
4. Generic Address Assignment Option . . . . . . . . . . . . . . 6
5. Messages Sequence and Processing . . . . . . . . . . . . . . 9
5.1. Request Phase . . . . . . . . . . . . . . . . . . . . . . 9
5.2. Explicit Registration Phase (Optional) . . . . . . . . . 10
5.3. Message Exchange Optimization . . . . . . . . . . . . . . 11
5.3.1. GAAO with Address Registration . . . . . . . . . . . 12
5.3.2. GAAO with Router Discovery . . . . . . . . . . . . . 12
5.4. Error Conditions . . . . . . . . . . . . . . . . . . . . 13
6. Signaling GAAO Support . . . . . . . . . . . . . . . . . . . 14
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
7.1. IPv6 Neighbor Discovery (ND) Option Types . . . . . . . . 14
7.2. 6LoWPAN Capability Bits . . . . . . . . . . . . . . . . . 15
7.3. GAAO Error code . . . . . . . . . . . . . . . . . . . . . 15
7.4. Address Assignment Function Registry . . . . . . . . . . 15
8. Security Considerations . . . . . . . . . . . . . . . . . . . 16
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 16
References . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Normative References . . . . . . . . . . . . . . . . . . . . . 16
Informative References . . . . . . . . . . . . . . . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19
1. Introduction
Low Power and Lossy Networks (LLNs) have adapted the design of
^^^^^^^
[CG] s/adapted/required adapting
Internet protocols to more constrained environments, by taking into
consideration of energy saving, limited memory capacity, and duty
^^
[CG] please remove "of"
cycling of the LLN devices, as well as low-power lossy transmissions.
^^^^^^^^^^^^^^^
[CG] s/low-power lossy/low-power and lossy
Since the wireless interface is a major energy drain, protocols
aiming at being deployed over LLN must be designed in such a way to
^^^
[CG] s/LLN/LLNs
reduce as much as possible transmissions, allowing to turn off the
^^^^^^^^^^^^^
[CG] perhaps "and idle listening" may be added after "transmissions"
radio interface or put the interface or the whole node in the
Iannone, et al. Expires 6 March 2026 [Page
2]Internet-Draft GAAO September
2025
sleeping mode.
IPv6 Neighbor Discovery has been also adapted to the LLN environment
in [RFC6775], later updated by [RFC8505], [RFC8929], and [RFC9010].
The target being to design protocols that reduce energy consumption,
^^^^^
[CG] s/being/has been
especially in LLNs, though in general their design could be applied
in any context targeting lowering carbon emissions. In particular,
interface address assignment relies on address auto-configuration
(such as Stateless Address Autoconfiguration (SLAAC)[RFC4862]), since
the use of Dynamic Host Configuration Protocol (DHCP [RFC8415]) is
not adapted, from an energy and bandwidth perspective, to LLN
deployments. Indeed, LLN environments aim at avoiding as much as
possible asynchronous multicast operations, because that would keep
nodes awake and listening. Furthermore, it is also preferable to
reduce as much as possible the number of nodes involved in control
plane operations, because of energy and bandwidth constraints typical
of LLN. DHCP can still be used in Internet-of-Things (IoT)
deployments where energy and bandwidth are not an issue.
To avoid multicast operations and to limit the number of nodes
involved in address assignment in LLN, mechanisms to register self-
^^^
[CG] s/LLN/LLNs
generated addresses have been designed ([RFC6775],
[I-D.ietf-6lo-prefix-registration], [RFC8505], [RFC9685]).
Recent use cases show, however, that there are some advantages in
assigning addresses in an algorithmically managed way. In
particular, in some scenarios, routing and forwarding can be
simplified ([RFC9453], [I-D.ietf-6lo-path-aware-semantic-addressing],
[SHENOY21], [BLESS22], [RIDOUX05]), hence reducing the power
consumption and memory footprint. Algorithmic address assignment has
its own pros and cons, as well as deployment requirements. However,
they have the common benefit of being easily distributed. In other
words, it is not necessary to have a centralized approach, like DHCP,
rather address assignment is distributed by construction and a node
can obtain an address from one of its neighbors who simply runs a
distributed algorithm.
This situation highlights an existing gap that this document tries to
fill: 6LoWPAN nodes have no means to directly request an address (or
address prefix) from routers that are their direct neighbors.
Currently, either auto-configuration is used, or DHCP has to be
deployed. The former is energy efficient, but makes it hard to
implement solutions like
[I-D.ietf-6lo-path-aware-semantic-addressing], [SHENOY21], [BLESS22],
and [RIDOUX05]. The latter, on the opposite, allows the use of
sophisticated assignment algorithms, but remains inefficient from an
energy and bandwidth consumption viewpoint.
Iannone, et al. Expires 6 March 2026 [Page
3]Internet-Draft GAAO September
2025
This document proposes a new Neighbor Discovery Option, namely the
Generic Address Assignment Option (GAAO), in order for a node to
issue an address/prefix request to neighboring routers. GAAO
complements the Extended Address Registration Option (EARO), defined
in [RFC8505], further extended in [I-D.ietf-6lo-prefix-registration]
and [RFC9685].
2. Terminology
2.1. Requirements Notation
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. Acronyms
This document assumes familiarity with the terminology defined in
[RFC6775] and [RFC8505]. In particular for the following acronyms:
*6CIO*: Capability Indication Option
*6LBR*: 6LoWPAN Border Router
*6LN*: 6LoWPAN Node
*6LoWPAN*: IPv6 over Low-Power Wireless Personal Area Network
*6LR*: 6LoWPAN Router
*AAF*: Address Assignment Function
*ARO*: Address Registration Option
*EARO*: Extended Address Registration Option
*GAAO*: Generic Address Assignment Option
*IID*: Interface IDentifier
*LLN*: Low-Power and Lossy Network
*NA*: Neighbor Advertisement
*ND*: Neighbor Discovery
Iannone, et al. Expires 6 March 2026 [Page
4]Internet-Draft GAAO September
2025
*NS*: Neighbor Solicitation
*PfxLen*: Prefix Length
*RA*: Router Advertisement
*RS*: Router Solicitation
*SLAAC*: Stateless Address Auto-Configuration
*SLLAO*: Source Link-Layer Address Option
*TLLAO*: Target Link-Layer Address Option
2.3. Definition of Terms
*Address Assignment Function (AAF):* The Address Assignment Function
(AAF) is an implementation of the algorithm used by 6LRs/6LBR to
assign an address/prefix to requesting nodes. In order to avoid
addressing issues, only one single AAF is used in a deployment.
^^^^^^^^^^^^^^
[CG] s/one single AAF/a single AAF
[CG] or perhaps s/one single AAF/one AAF
An AAF assigns either addresses or prefixes but not both. This
allows in certain cases to indicate whether a node is requesting
an address or a prefix.
*GAAO:* Generic Address Assignment Option defined in this
specification (Section 4).
3. Algorithmically Assigned Addresses and Prefixes
The IPv6 address assignment model within a local domain relies on
randomly generated Interface Identifiers (IIDs). These can be
assigned in two ways: a centralized approach using DHCPv6
([RFC8415]), which guarantees collision-free addresses, or a
decentralized approach using SLAAC ([RFC4862]). In the latter case,
additional mechanisms are required to ensure address uniqueness and
security, including Duplicate Address Detection (DAD) [RFC4862],
Cryptographically Generated Addresses (CGA) [RFC3972], and Secure
Neighbor Discovery (SEND) [RFC3971]. However, there is a third
approach for address assignment, which is distributed and collision-
free: algorithmically generated addresses (e.g., [SHENOY21],
[BLESS22], [RIDOUX05], [ERIKSSON04]).
The Address Assignment Function (AAF) will work as a decentralized
and distributed fashion. The AAF is used to assign addresses and
prefixes to nodes as they join a network. To ensure consistency, all
6LoWPAN Nodes (6LNs), 6LoWPAN Routers (6LRs), and 6LoWPAN Boarder
^^^^^^^
[CG] s/Boarder/Border
Routers (6LBRs) MUST use the same AAF within a given network
instance. When a node needs an address/prefix, it first selects a
Iannone, et al. Expires 6 March 2026 [Page
5]Internet-Draft GAAO September
2025
neighboring 6LR from those that responded to its initial Router
^^^
[CG] I understand that it could also be a neighboring 6LBR
Solicitation (RS) with a Router Advertisement (RA), as specified in
[RFC6775]. The node then sends an explicit request for an address/
prefix to the chosen 6LR. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^
[CG] Perhaps a forward reference to the relevant
section(s)/subsection(s) where this is
better detailed (e.g., use of NS(GAAO) or NA(GAAO)) may be useful.
The 6LR assigns the address/prefix based
on the AAF and automatically registers this assignment with the
requesting 6LN. Depending on the specific technology and algorithm
in use. The node may also need to explicitly register the assigned
^^^^^^^^^
[CG] s/use. The/use, the
address/prefix to confirm its use. The overall process is
illustrated in Figure 1.
STEP
6LN 6LR/6LBR
| |
1. | Address/Prefix Request | \
| --------------------------> | \
| | + Request Phase
2. | Address/Prefix Offer | /
| <-------------------------- | /
| |
3. | Address/Prefix Acceptation | \
^^^^^^^^^^^
[CG] s/Acceptation/Acceptance
| --------------------------> | \
| | + Optional Explicit
4. | Address/Prefix Confirmation | / Registration Phase
| <-------------------------- | /
| |
Figure 1: Address/Prefix assignment sequence.
The optional registration phase (steps 3 and 4) is implemented using
the address/prefix registration procedures defined in [RFC8505],
[RFC9685], or [I-D.ietf-6lo-prefix-registration]. In this phase, an
Extended Address Registration Option (EARO) and Source Link-Layer
Address Option (SLLAO) are used to register an address/prefix, which,
^^^^^^^^^^^^^^^^^^^^^^
[CG] The SLLAO acronym has been defined earlier in the document.
in this context, is not self-generated. However, to initiate the
process--specifically steps 1 and 2, a new Generic Address Assignment
Option (GAAO) is required and proposed in this document. Because no
^^^^^^^^^^^^^
[CG] The GAAO acronym has been defined earlier in the document.
existing mechanism can be readily used for this purpose. The
remainder of this document first defines the format of this option
(see (Section 4)), followed by a revised sequence and processing of
Address/Prefix assignment messages (see (Section 5)).
4. Generic Address Assignment Option
In order for a 6LN to request the assignment of an address or prefix,
the Generic Address Assignment Option (GAAO) message is used. The
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[CG] The GAAO acronym has been defined earlier in the document.
format of the GAAO message is shown in Figure 2.
Iannone, et al. Expires 6 March 2026 [Page
6]Internet-Draft GAAO September
2025
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 | Status | Opaque |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R|C|Rsvd | PfxLen | AAF | Assignment Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ Registration Ownership Verifier (ROVR) ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Address/Prefix |
| (128 bits) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Generic Address Assignment Option (GAAO) format.
Generic Address Assignment Option Fields:
*Type:* TBD
*Length:* 8-bit unsigned integer. The length of the option in units
of 8 bytes. This field is set to 1 plus the size of the ROVR
field when there is no address/prefix appended to the option. It
^^
[CG] perhaps s/It/Its value
is augmented by 2 (16 bytes) when an address/prefix is appended to
the option.
*Status:* As defined in [RFC8505].
*Opaque:* As defined in [RFC8505].
*R:* 1-bit flag for explicit Registration being requested. It MUST
be initialized to 0 in Neighbor Solicitation (NS) message by the
^^^^^^^
[CG] s/message/messages
requester and MUST be ignored by the receiver. The 6LR/6LBR
replying to the request with an Neighbor Advertisement (NA)
message MAY set this bit to indicate that it requests a
confirmation that the address/prefix is accepted and will be used.
When the 6LR/6LBR sets the R-flag in a NA(GAAO) message, it
indicates that no registration state has been created and that the
requester MUST explicitly register the received address/prefix to
the same 6LR using the procedures defined in [RFC8505],
^^^
[CG] Please add "/6LBR" after "6LR"
[I-D.ietf-6lo-prefix-registration], and [RFC9685], according to
the type of the assigned address/prefix. When the 6LR/6LBR does
not set this R-flag, it implicitly indicates that the assigned
address/prefix has been also registered and state created as
specified in [RFC8505], [I-D.ietf-6lo-prefix-registration], and
Iannone, et al. Expires 6 March 2026 [Page
7]Internet-Draft GAAO September
2025
[RFC9685], according to the type of the assigned address/prefix.
In the event that the 6LN does not want to use the allocated
address/prefix, it can de-register the allocation by sending an
NS(EARO) setting registration lifetime to zero, as defined in
[RFC8505].
*C:* 1-bit flag for Crypto-ID used for ROVR as defined [RFC8928] and
^^^^^^^^^^^^^^^^^
[CG] s/defined [RFC8928]/defined in [RFC8928]
[I-D.ietf-6lo-updating-rfc-8928]. This flag MUST be set when the
ROVR field contains a Crypto-ID.
*Reserved:* 3-bit reserved field for future use. It MUST be
initialized to 0 by the sender and MUST be ignored by the
receiver.
*PfxLen:* 7-bit unsigned integer. It indicates the length of the
prefix in bits.
^^^^^^
[CG] If "prefix" refers to the one carried in the GAAO format, please state so.
Also, when the Address/Prefix field carries an address, does
PfxLen also indicate
the size of only the prefix of the address?
*AAF:* 4-bit unsigned integer. Describe the Address Assignment
^^^^^^^^
[CG] s/Describe/Describes
Function (AAF), i.e. the algorithm, used to assign the address/
prefix. 0 is a special value indicating that the field is not
used. In an NS(GAAO) message, it is RECOMMENDED to set this field
to 0 to indicate there is no preference on how the address/prefix
is assigned. However, a 6LN MAY use a value different from 0,
meaning that it is requested to use a specific known AAF to assign
the address/prefix (see also Section 5.4). Section 7.4 describes
possible values of this field.
*Assignment Lifetime:* 16-bit unsigned integer, expressed in
minutes. In an NS(GAAO) message, the field expresses a desired
lifetime. It MAY be set to zero, indicating no particular desired
lifetime. In NA(GAAO) message it expresses the granted lifetime.
A node MUST NOT use the address/prefix after expiration of the
lifetime. Address/prefix lifetime SHOULD be configurable
according to the AAF in use and as mitigation of certain attacks
(see Section 8).
*ROVR:* As defined in [RFC8505] and extended in [RFC8928] and
[I-D.ietf-6lo-updating-rfc-8928].
*Address/Prefix:* 128-bit IPv6 address/prefix. This field MAY be
present in NS(GAAO) request messages to indicate the prefix from
which the address or sub-prefix has to be derived. If not present
in NS(GAAO) message, it means that the returned address is
^^^^^^^^^^^^^^^^^^^^
[CG] If the following is what is intended, perhaps
[CG] s/the returned address/the address returned in an NA(GAAO) message
implicitly used on the interface used to send the request. This
field MUST be present in NA(GAAO) message that return a successful
address/prefix allocation, but MUST NOT be present in case of
error.
[CG] When what is carried in this field is a prefix, which are the bits of
the field used to encode the prefix? E.g., the leftmost bits, the righmost
bits...?
Iannone, et al. Expires 6 March 2026 [Page
8]Internet-Draft GAAO September
2025
5. Messages Sequence and Processing
When a node bootstraps, it typically does multicast a RS message and
receives one or more unicast RA messages from neighbor 6LRs. The
node MAY choose one or more 6LRs from which to request address(es) or
prefix(es). A node MAY perform a request at any time, not
necessarily at boot time using NS and NA messages.
^^^^^
[CG] I understand this should be s/time using/time, using
5.1. Request Phase
When the node requests an address/prefix, the node will go through
the following steps:
1. The node will issue an NS(GAAO) message to obtain the address/
prefix. In this initial address request, GAAO Status field MUST
be set to 0. Opaque, ROVR, and C-flag is set according to the
^^
[CG] s/is/are
local configuration. R-Flag MUST be set to 0. The AAF field
SHOULD be set to zero unless by configuration there is a
preference for the assignment algorithm. The Assignment Lifetime
field MAY be set to the desired lifetime, or zero otherwise. The
Address/Prefix field MAY be present to indicate the prefix from
which prefix the address or sub-prefix has to be derived. In
^^^^^^
[CG] please remove "prefix"
this case the PfxLen field MUST be set accordingly. If the
Address/Prefix field is not present, the PfxLen field MUST be set
to 0.
2. Assuming no errors occur, the node will receive an NA(GAAO)
message where all fields have been copied back except for:
* *Pfxlen:* Now indicating the actual length of the prefix. For
address assignments this field MUST be set to 64.
* *R:* The R-bit is set if the 6LR requests an explicit
registration.
* *AAF:* It is the algorithm, used to assign the address/prefix.
If the node is a 6LR it MUST use the same AAF to generate
addresses/prefixes to requesting neighbor nodes.
* *Assignment Lifetime:* The maximum lifetime of the assigned
address/prefix.
The message sequence is depicted in Figure 3.
Iannone, et al. Expires 6 March 2026 [Page
9]Internet-Draft GAAO September
2025
STEP
6LN 6LR/6LBR
| |
| ===== RS-RA Transaction Completed ====== |
| |
| |
| Address/Prefix Request |
1. | ---------------------------------------> |
| NS (GAAO) |
| |
| Address/Prefix Offer |
2. | <--------------------------------------- |
| NA (GAAO) |
| |
Figure 3: Address/Prefix assignment message sequence.
5.2. Explicit Registration Phase (Optional)
Depending on the algorithm in use and the underlying technology, the
address/prefix assignment procedure terminates after these two
messages. This may be sufficient for instance in deployments where
the link-layer offers reliable packet delivery. The use of this
option is done by configuration. Documents defining AAF MUST
^^^
[CG] s/AAF/AAFs
explicitly state whether this phase remains optional or is mandatory
due to factors specific to the proposed algorithm.
If the R-flag is set in the received NA(GAAO) message, the 6LN MUST
register with the obtained address/prefix by following the procedures
in [RFC8505], [RFC9685], or [I-D.ietf-6lo-prefix-registration]
depending on the type of address/prefix. When setting the R-flag,
and as for [RFC4861], the 6LR is expect to receive a registration
within RETRANS_TIMER multiplied by MAX_UNICAST_SOLICIT. If no
registration is received within this amount of time the 6LR will
consider that address/prefix is not in use by the requesting 6LN.
The complete sequence of actions is depicted in Figure 4.
Iannone, et al. Expires 6 March 2026 [Page
10]Internet-Draft GAAO September
2025
STEP
6LN 6LR/6LBR
| |
| ====== RS-RA Transaction Completed ====== |
| |
| Address/Prefix Request |
1. | -------------------------------------------> |
| NS(GAAO) |
| |
| Address/Prefix Offer |
2. | <------------------------------------------- |
| NA(GAAO) |
| |
| Address/Prefix Registration Request |
3. | -------------------------------------------> |
| NS(EARO + SLLAO) |
| |
...
Procedure According to [RFC8505], [RFC9685],
or [I-D.ietf-6lo-prefix-registration]
depending on the type of address.
...
| |
| Address/Prefix Registration Response |
4. | <------------------------------------------- |
| NA(EARO with Status + SLLAO) |
| |
Figure 4: Address/Prefix assignment message sequence with explicit
registration.
[RFC8505], [RFC9685], and [I-D.ietf-6lo-prefix-registration], define
how nodes keep address/prefix registering state so to maintain
addressing in case of reboot. When needed, in order to use this
feature with GAAO, after reboot the registration phase MUST be used
to perform an explicit registration and continue use the address/
^^^
[CG] s/use/using
prefix. However, when using GAAO, and when preforming the re-
registering, if a "Registration Refresh Request" or "Invalid
Registration" Status value is returned, the node MUST restart from
the top with the initial Request Phase.
5.3. Message Exchange Optimization
There are two ways to optimize the prefix/address Request Phase
[CG] Perhaps add at the end of the previous sentence: ": GAAO with
Address Registration and GAAO with Router Discovery."
Iannone, et al. Expires 6 March 2026 [Page
11]Internet-Draft GAAO September
2025
5.3.1. GAAO with Address Registration
Prefix/address Registration utilize NS/NA transactions for the link-
local address registration [RFC8505]. In this specification, for
prefix/address Request procedure utilize an additional NS/NA
^^^^^^^
[CG] s/utilize/utilizes
transactions. To minimize the number of transactions, GAAO MAY be
^^^^^^^^^^^^
[CG] s/transaction/transactions
used together with the EARO option during address registration phase.
This piggybacking approach provides flexibility and maintains
compatibility with existing specifications [RFC8505]. In response
the NA message will contain GAAO. Figure 5 illustrates the GAAO
piggybacked within a link-layer address registration request and
response.
STEP
6LN 6LR/6LBR
| |
| Address Registration Request |
1. | ---------------------------------------> |
| NS(EARO + SLLAO + GAAO) |
| |
| Address Registration Response |
2. | <--------------------------------------- |
| NA(EARO with Status + SLLAO + GAAO) |
| |
Figure 5: GAAO piggybacking with link-layer Address Registration.
5.3.2. GAAO with Router Discovery
Another optimization for prefix/address requests can be performed
during the bootstrapping phase of a 6LN. The GAAO MAY be included in
the initial RS message, thereby implicitly indicating that the node
supports this specifications. Similarly, 6LR/6LBR that support this
^^^^^^^^^^^^^^
[CG] s/specifications/specification
specification MUST include a prefix/address offer in a GAAO appended
to the corresponding RA message, as depicted in Figure 6.
Iannone, et al. Expires 6 March 2026 [Page
12]Internet-Draft GAAO September
2025
STEP
6LN 6LR/6LBR
| |
| RS message |
1. | ---------------------------------------> |
| (6CIO + SLLAO + GAAO) |
| |
| RA message |
2. | <--------------------------------------- |
| (PIO + 6CIO + ABRO + SLLAO + GAAO) |
| |
Figure 6: GAAO piggybacking with Router Discovery.
A 6LR that does not support GAAO will simply ignore this option, and
^^^
[CG] Also a 6LBR ?
the corresponding RA message will not include a GAAO. This behavior
implicitly signals that the feature is not supported.
5.4. Error Conditions
GAAO Status field uses same Status values defined in [RFC6775] and
[RFC8505], further revised in [RFC9010], for error reporting. This
specification introduces a new Status value when the AAF in GAAO in
an NS message is not in use in the 6LoWPAN network, as follows (see
also Section 7):
GAAO uses error codes defined in [RFC6775] and [RFC8505], revised in
[RFC9010]. This specification introduces a new status code when the
AAF in GAAO in an NS message is not in use in the 6LoWPAN network, as
follows (see also Section 7):
[CG] The two last paragraphs are almost identical...
*AAF Not Used:* The AAF in GAAO in the NS message is not in use in
the 6LoWPAN network.
This status MUST be used when a node requesting an address/prefix did
put an AAF value, in the corresponding field, which is not in use in
the 6LoWPAN network. When the node receives this status back it
SHOULD perform one of the following actions:
* Re-issue the same request without specifying an AAF. Meaning set
^^^^^^^^^^^^^
[CG] s/AAF. Meaning/AAF, meaning
the AAF field to 0. The 6LR will return the AAF in use in the
6LoWPAN network and employed to generate the returned address/
prefix. If the requesting node does not support the returned AAF
it does not participate in the AAF-based 6LoWPAN network and does
not use the proposed address/prefix.
Iannone, et al. Expires 6 March 2026 [Page
13]Internet-Draft GAAO September
2025
* Re-issue the same request with a different AAF. The 6LoWPAN
network is not using the requested AAF but may be using a
different one. Note that such an approach may lead to repeated
requests that may consume bandwidth and energy.
* Do nothing and do not participate in the AAF-based 6LoWPAN
network.
The action to be used is selected by configuration. When nodes fail
to participate in the AAF-based 6LoWPAN network they MAY still use a
different mechanism (e.g., [RFC8505]) to configure addresses/
prefixes.
6. Signaling GAAO Support
This specification defines a new capability bit, named M-flag, for
use in the 6CIO as defined by [RFC7400] ("6LoWPAN-GHC: Generic Header
Compression for IPv6 over Low-Power Wireless Personal Area
Networks"). A 6LN that supports this specification MUST set the
M-flag in RS and RA messages.
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 = 1 | Reserved |X|A|D|L|B|P|E|G|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|F|M| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 7: New GAAO Capability Bit in the 6CIO.
*M:* 1-bit flag. The node supports managed addresses/prefixes via
the Generic Address Assignment Capability.
7. IANA Considerations
This section provides guidance to the Internet Assigned Numbers
Authority (IANA) regarding registration of values related to the GAAO
specification, in accordance with BCP 26 [RFC8126].
7.1. IPv6 Neighbor Discovery (ND) Option Types
IANA is requested to make an addition to the "IPv6 Neighbor Discovery
Option Formats" registry under the heading "Internet Control Message
Protocol version 6 (ICMPv6) Parameters" as indicated in Table 1:
Iannone, et al. Expires 6 March 2026 [Page
14]Internet-Draft GAAO September
2025
+======+===================================+=================+
| Type | Description | Reference |
+======+===================================+=================+
| TBD | Generic Address Assignment Option | [This Document] |
+------+-----------------------------------+-----------------+
Table 1: New Generic Address Assignment Option.
7.2. 6LoWPAN Capability Bits
IANA is requested to make an addition to the "6LoWPAN Capability
Bits" registry under the registry group "Internet Control Message
Protocol version 6 (ICMPv6) Parameters" as indicated in Table 2:
+=====+============================+===========+
| Bit | Description | Reference |
+=====+============================+===========+
| TBD | M-Flag for Generic Address | [This |
| | Assignment Capability | Document] |
+-----+----------------------------+-----------+
Table 2: New 6LoWPAN Capability Bit.
7.3. GAAO Error code
IANA is requested to make an addition to the "Address Registration
Option Status Values" registry under the registry group "Internet
Control Message Protocol version 6 (ICMPv6) Parameters" as indicated
in Table 3:
+================+==============+=================+
| Value | Description | Reference |
+================+==============+=================+
| 13 (Suggested) | AAF Not Used | [This Document] |
+----------------+--------------+-----------------+
Table 3: New Address Registration Option Status
Field Value.
7.4. Address Assignment Function Registry
IANA is asked to create a registry group named "Generic Address
Assignment Option".
Such registry group should be populated with an octet registry named
"Address Assignment Function" and used to identify the used AAF. The
registry is populated as shown in Table 4:
Iannone, et al. Expires 6 March 2026 [Page
15]Internet-Draft GAAO September
2025
+=========+================================+===========+
| Value | AAF Name | Reference |
+=========+================================+===========+
| 0x0 | No AAF. This can be used only | [This |
| | in NS message to indicate that | Document] |
| | no specific AAF is demanded. | |
+---------+--------------------------------+-----------+
| 0x1-0xE | Un-assigned | |
+---------+--------------------------------+-----------+
| 0xF | Experimental Use. Used for | [This |
| | experimental purposes during | Document] |
| | implementation of new AAFs. | |
+---------+--------------------------------+-----------+
Table 4: Allocation Function Sub-registry
Values can be assigned by IANA on a "First Come, First Served" basis
according to [RFC8126].
8. Security Considerations
This document extends [RFC8505], which already extended [RFC6775], as
such the security considerations of both documents apply to this
specification. In particular, the link layer SHOULD provide
sufficient protection to prevent potential attacks. Recommendations
listed in Section 7 of [RFC8505] SHOULD be applied as well to this
specification.
Depending on the Assignment Function in use, the number of available
^^^^^^^^^^^^^^^^^^^
[CG] s/Assignment Function/AAF
addresses may encounter limitations. A rouge node may leverage on
^^^^^
[CG] s/rouge/rogue
this knowledge to carry out address exhaustion attacks by
impersonating different nodes and performing multiple requests. To
mitigate such risks the reccomendation about the lifetime and number
^^^^^^^^^^^^^^^
[CG] s/reccomendation/recommendation
of addresses per node described in Section 7 of [RFC8505] remain
^^^^^^
[CG] s/remain/remains
valid.
Acknowledgements
This document received many comments and help from community people.
The authors would like to thank all of them. Thanks as well to Joel
Halpern (GENART) and Brian Haberman (INTDIR) for their reviews that
helped to spot overlooked points in the definition of the GAAO
mechanism.
References
Normative References
Iannone, et al. Expires 6 March 2026 [Page
16]Internet-Draft GAAO September
2025
[I-D.ietf-6lo-prefix-registration]
Thubert, P., "IPv6 Neighbor Discovery Prefix
Registration", Work in Progress, Internet-Draft, draft-
ietf-6lo-prefix-registration-18, 20 August 2025,
<https://datatracker.ietf.org/doc/html/draft-ietf-6lo-
prefix-registration-18>.
[I-D.ietf-6lo-updating-rfc-8928]
Thubert, P. and A. Rashid, "Fixing the C-Flag in Extended
Address Registration Option (EARO)", Work in Progress,
Internet-Draft, draft-ietf-6lo-updating-rfc-8928-05, 26
June 2025, <https://datatracker.ietf.org/doc/html/draft-
ietf-6lo-updating-rfc-8928-05>.
[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/rfc/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/rfc/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/rfc/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/rfc/rfc6775>.
[RFC7400] Bormann, C., "6LoWPAN-GHC: Generic Header Compression for
IPv6 over Low-Power Wireless Personal Area Networks
(6LoWPANs)", RFC 7400, DOI 10.17487/RFC7400, November
2014, <https://www.rfc-editor.org/rfc/rfc7400>.
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/rfc/rfc8126>.
[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/rfc/rfc8174>.
Iannone, et al. Expires 6 March 2026 [Page
17]Internet-Draft GAAO September
2025
[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/rfc/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/rfc/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/rfc/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/rfc/rfc9685>.
Informative References
[BLESS22] Bless, R., Zitterbart, M., Despotovic, Z., and A. Hecker,
"KIRA: Distributed Scalable ID-based Routing with Fast
Forwarding", 2022 IFIP Networking Conference (IFIP
Networking) pp. 1-9,
DOI 10.23919/ifipnetworking55013.2022.9829816, June 2022,
<https://doi.org/10.23919/
ifipnetworking55013.2022.9829816>.
[ERIKSSON04]
Eriksson, J., Faloutsos, M., and S. Krishnamurthy,
"Scalable ad hoc routing: the case for dynamic
addressing", IEEE INFOCOM 2004 vol. 2, pp. 1108-1119,
DOI 10.1109/infcom.2004.1356997, February 2005,
<https://doi.org/10.1109/infcom.2004.1356997>.
[I-D.ietf-6lo-path-aware-semantic-addressing]
Iannone, L., Li, G., Lou, D., Liu, P., and P. Thubert,
"Path-Aware Semantic Addressing (PASA) for Low power and
Lossy Networks", Work in Progress, Internet-Draft, draft-
ietf-6lo-path-aware-semantic-addressing-12, 25 August
2025, <https://datatracker.ietf.org/doc/html/draft-ietf-
6lo-path-aware-semantic-addressing-12>.
Iannone, et al. Expires 6 March 2026 [Page
18]Internet-Draft GAAO September
2025
[RFC3971] Arkko, J., Ed., Kempf, J., Zill, B., and P. Nikander,
"SEcure Neighbor Discovery (SEND)", RFC 3971,
DOI 10.17487/RFC3971, March 2005,
<https://www.rfc-editor.org/rfc/rfc3971>.
[RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)",
RFC 3972, DOI 10.17487/RFC3972, March 2005,
<https://www.rfc-editor.org/rfc/rfc3972>.
[RFC8415] Mrugalski, T., Siodelski, M., Volz, B., Yourtchenko, A.,
Richardson, M., Jiang, S., Lemon, T., and T. Winters,
"Dynamic Host Configuration Protocol for IPv6 (DHCPv6)",
RFC 8415, DOI 10.17487/RFC8415, November 2018,
<https://www.rfc-editor.org/rfc/rfc8415>.
[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/rfc/rfc8929>.
[RFC9453] Hong, Y., Gomez, C., Choi, Y., Sangi, A., and S.
Chakrabarti, "Applicability and Use Cases for IPv6 over
Networks of Resource-constrained Nodes (6lo)", RFC 9453,
DOI 10.17487/RFC9453, September 2023,
<https://www.rfc-editor.org/rfc/rfc9453>.
[RIDOUX05] Ridoux, J., Fladenmuller, A., Viniotis, Y., and K.
Salamatian, "Trellis-Based Virtual Regular Addressing
Structures in Self-organized Networks", Lecture Notes in
Computer Science pp. 511-522, DOI 10.1007/11422778_41,
2005, <https://doi.org/10.1007/11422778_41>.
[SHENOY21] Shenoy, N., Chandraiah, S., and P. Willis, "A Structured
Approach to Routing in the Internet", 2021 IEEE 22nd
International Conference on High Performance Switching and
Routing (HPSR) pp. 1-6,
DOI 10.1109/hpsr52026.2021.9481818, June 2021,
<https://doi.org/10.1109/hpsr52026.2021.9481818>.
Authors' Addresses
Luigi Iannone
Huawei Technologies France S.A.S.U.
18, Quai du Point du Jour
92100 Boulogne-Billancourt
France
Email: [email protected]
Iannone, et al. Expires 6 March 2026 [Page
19]Internet-Draft GAAO September
2025
David Lou
Huawei Technologies Duesseldorf GmbH
Riesstrasse 25
80992 Munich
Germany
Email: [email protected]
Adnan Rashid
Politecnico di Bari
Via Edoardo Orabona 4
70126 Bari
Italy
Email: [email protected]
Iannone, et al. Expires 6 March 2026 [Page 20]
_______________________________________________
6lo mailing list -- [email protected]
To unsubscribe send an email to [email protected]