Skip to main content

IPv6 Neighbor Discovery Multicast Address Listener Registration
draft-ietf-6lo-multicast-registration-06

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Active".
Author Pascal Thubert
Last updated 2022-05-31
Replaces draft-thubert-6lo-multicast-registration
RFC stream Internet Engineering Task Force (IETF)
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state WG Document
Document shepherd (None)
IESG IESG state I-D Exists
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-6lo-multicast-registration-06
6lo                                                      P. Thubert, Ed.
Internet-Draft                                             Cisco Systems
Updates: 6550, 6553, 8505, 9010 (if approved)                31 May 2022
Intended status: Standards Track                                        
Expires: 2 December 2022

    IPv6 Neighbor Discovery Multicast Address Listener Registration
                draft-ietf-6lo-multicast-registration-06

Abstract

   This document updates RFC 8505 to enable a listener to register an
   IPv6 anycast or and subscribe to an IPv6 multicast address; the draft
   updates RFC 6550 (RPL) to add a new Non-Storing Multicast Mode and a
   new support for anycast addresses in Storing and Non-Storing Modes.
   This document extends RFC 9010 to enable the 6LR to inject the
   anycast and multicast addresses in RPL.

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 2 December 2022.

Copyright Notice

   Copyright (c) 2022 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

Thubert                  Expires 2 December 2022                [Page 1]
Internet-Draft       Multicast Address Registration             May 2022

   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  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   4
     2.1.  Requirements Language . . . . . . . . . . . . . . . . . .   4
     2.2.  References  . . . . . . . . . . . . . . . . . . . . . . .   5
     2.3.  Glossary  . . . . . . . . . . . . . . . . . . . . . . . .   5
   3.  Overview  . . . . . . . . . . . . . . . . . . . . . . . . . .   6
   4.  Extending RFC 7400  . . . . . . . . . . . . . . . . . . . . .   9
   5.  Updating RFC 6550 . . . . . . . . . . . . . . . . . . . . . .  10
     5.1.  Updating MOP 3  . . . . . . . . . . . . . . . . . . . . .  10
     5.2.  New Non-Storing Multicast MOP . . . . . . . . . . . . . .  10
     5.3.  RPL Anycast Operation . . . . . . . . . . . . . . . . . .  11
     5.4.  New RPL Target Option Flags . . . . . . . . . . . . . . .  12
   6.  Updating RFC 8505 . . . . . . . . . . . . . . . . . . . . . .  13
     6.1.  New EARO flag . . . . . . . . . . . . . . . . . . . . . .  13
     6.2.  New EDAR Message Flag field . . . . . . . . . . . . . . .  14
     6.3.  Registering Extensions  . . . . . . . . . . . . . . . . .  15
   7.  Updating RFC 9010 . . . . . . . . . . . . . . . . . . . . . .  17
   8.  Leveraging RFC 8928 . . . . . . . . . . . . . . . . . . . . .  18
   9.  Node Uptime Option  . . . . . . . . . . . . . . . . . . . . .  19
   10. Deployment considerations . . . . . . . . . . . . . . . . . .  20
   11. Security Considerations . . . . . . . . . . . . . . . . . . .  22
   12. Backward Compatibility  . . . . . . . . . . . . . . . . . . .  23
   13. IANA Considerations . . . . . . . . . . . . . . . . . . . . .  23
     13.1.  New EDAR Message Flags Subregistry . . . . . . . . . . .  23
     13.2.  New EARO flags . . . . . . . . . . . . . . . . . . . . .  24
     13.3.  New RTO flags  . . . . . . . . . . . . . . . . . . . . .  24
     13.4.  New RPL Mode of Operation  . . . . . . . . . . . . . . .  25
     13.5.  New 6LoWPAN Capability Bits  . . . . . . . . . . . . . .  25
     13.6.  New Address Registration Option Status Values  . . . . .  26
     13.7.  New IPv6 Neighbor Discovery Option . . . . . . . . . . .  26
   14. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .  26
   15. Normative References  . . . . . . . . . . . . . . . . . . . .  26
   16. Informative References  . . . . . . . . . . . . . . . . . . .  28
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  30

Thubert                  Expires 2 December 2022                [Page 2]
Internet-Draft       Multicast Address Registration             May 2022

1.  Introduction

   The design of Low Power and Lossy Networks (LLNs) is generally
   focused on saving energy, which is the most constrained resource of
   all.  Other design constraints, such as a limited memory capacity,
   duty cycling of the LLN devices and low-power lossy transmissions,
   derive from that primary concern.  The radio (both transmitting or
   simply listening) is a major energy drain and the LLN protocols must
   be adapted to allow the nodes to remain sleeping with the radio
   turned off at most times.

   The "Routing Protocol for Low Power and Lossy Networks" [RFC6550]
   (RPL) to provide IPv6 [RFC8200] routing services within such
   constraints.  To save signaling and routing state in constrained
   networks, the RPL routing is only performed along a Destination-
   Oriented Directed Acyclic Graph (DODAG) that is optimized to reach a
   Root node, as opposed to along the shortest path between 2 peers,
   whatever that would mean in each LLN.

   This trades the quality of peer-to-peer (P2P) paths for a vastly
   reduced amount of control traffic and routing state that would be
   required to operate an any-to-any shortest path protocol.
   Additionally, broken routes may be fixed lazily and on-demand, based
   on dataplane inconsistency discovery, which avoids wasting energy in
   the proactive repair of unused paths.

   Section 12 of [RFC6550] details the "Storing Mode of Operation with
   multicast support" with source-independent multicast routing in RPL.

   The classical "IPv6 Neighbor Discovery (IPv6 ND) Protocol" [RFC4861]
   [RFC4862] was defined for serial links and shared transit media such
   as Ethernet at a time when broadcast was cheap on those media while
   memory for neighbor cache was expensive.  It was thus designed as a
   reactive protocol that relies on caching and multicast operations for
   the Address Discovery (aka Lookup) and Duplicate Address Detection
   (DAD) of IPv6 unicast addresses.  Those multicast operations
   typically impact every node on-link when at most one is really
   targeted, which is a waste of energy, and imply that all nodes are
   awake to hear the request, which is inconsistent with power saving
   (sleeping) modes.

   The original 6LoWPAN ND, "Neighbor Discovery Optimizations for
   6LoWPAN networks" [RFC6775], was introduced to avoid the excessive
   use of multicast messages and enable IPv6 ND for operations over
   energy-constrained nodes.  [RFC6775] changes the classical IPv6 ND
   model to proactively establish the Neighbor Cache Entry (NCE)
   associated to the unicast address of a 6LoWPAN Node (6LN) in the a
   6LoWPAN Router(s) (6LR) that serves it.  To that effect, [RFC6775]

Thubert                  Expires 2 December 2022                [Page 3]
Internet-Draft       Multicast Address Registration             May 2022

   defines a new Address Registration Option (ARO) that is placed in
   unicast Neighbor Solicitation (NS) and Neighbor Advertisement (NA)
   messages between the 6LN and the 6LR.

   "Registration Extensions for 6LoWPAN Neighbor Discovery" [RFC8505]
   updates [RFC6775] into a generic Address Registration mechanism that
   can be used to access services such as routing and ND proxy and
   introduces the Extended Address Registration Option (EARO) for that
   purpose.  This provides a routing-agnostic interface for a host to
   request that the router injects a unicast IPv6 address in the local
   routing protocol and provide return reachability for that address.

   "Routing for RPL Leaves" [RFC9010] provides the router counterpart of
   the mechanism for a host that implements [RFC8505] to inject its
   unicast Unique Local Addresses (ULAs) and Global Unicast Addresses
   (GUAs) in RPL.  But though RPL also provides multicast routing,
   6LoWPAN ND supports only the registration of unicast addresses and
   there is no equivalent of [RFC9010] to specify the 6LR behavior upon
   the registration of one or more multicast address.

   The "Multicast Listener Discovery Version 2 (MLDv2) for IPv6"
   [RFC3810] enables the router to learn which node listens to which
   multicast address, but as the classical IPv6 ND protocol, MLD relies
   on multicasting Queries to all nodes, which is unfit for low power
   operations.  As for IPv6 ND, it makes sense to let the 6LNs control
   when and how they maintain the state associated to their multicast
   addresses in the 6LR, e.g., during their own wake time.  In the case
   of a constrained node that already implements [RFC8505] for unicast
   reachability, it makes sense to extend to that support to register
   the multicast addresses they listen to.

   This specification extends [RFC8505] and [RFC9010] to add the
   capability for the 6LN to register anycast and multicast addresses
   and for the 6LR to inject them in RPL when appropriate.

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.

Thubert                  Expires 2 December 2022                [Page 4]
Internet-Draft       Multicast Address Registration             May 2022

2.2.  References

   This document uses terms and concepts that are discussed in:

   *  "Neighbor Discovery for IP version 6" [RFC4861] and "IPv6
      Stateless address Autoconfiguration" [RFC4862],

   *  Neighbor Discovery Optimization for Low-Power and Lossy Networks
      [RFC6775], as well as

   *  "Registration Extensions for 6LoWPAN Neighbor Discovery" [RFC8505]
      and

   *  "Using RPI Option Type, Routing Header for Source Routes, and
      IPv6-in-IPv6 Encapsulation in the RPL Data Plane" [RFC9008].

2.3.  Glossary

   This document uses the following acronyms:

   6BBR   6LoWPAN Backbone Router
   6BBR   6LoWPAN Border Router
   6LN    6LoWPAN Node
   6LR    6LoWPAN Router
   6CIO   Capability Indication Option
   AMC    Address Mapping Confirmation
   AMR    Address Mapping Request
   ARO    Address Registration Option
   DAC    Duplicate Address Confirmation
   DAD    Duplicate Address Detection
   DAR    Duplicate Address Request
   EARO   Extended Address Registration Option
   EDAC   Extended Duplicate Address Confirmation
   EDAR   Extended Duplicate Address Request
   DODAG  Destination-Oriented Directed Acyclic Graph
   IR     Ingress Replication
   LLN    Low-Power and Lossy Network
   NA     Neighbor Advertisement
   NCE    Neighbor Cache Entry
   ND     Neighbor Discovery
   NS     Neighbor Solicitation
   ROVR   Registration Ownership Verifier
   RTO    RPL Target Option
   RA     Router Advertisement
   RS     Router Solicitation
   TID    Transaction ID
   TIO    Transit Information Option

Thubert                  Expires 2 December 2022                [Page 5]
Internet-Draft       Multicast Address Registration             May 2022

3.  Overview

   This specification inherits from [RFC6550], [RFC8505], and [RFC9010]
   to provide additional capabilities for anycast and multicast.  Unless
   specified otherwise therein, the behavior of the 6LBR that acts as
   RPL Root, of the intermediate routers down the RPL graph, of the 6LR
   that act as access routers and of the 6LNs that are the RFC-unaware
   destinations, is the same as for unicast.  In particular, forwarding
   a packet happens as specified in section 11 of [RFC6550], including
   loop avoidance and detection, though in the case of multicast
   multiple copies might be generated.

   [RFC8505] is a pre-requisite to this specification.  A node that
   implements this MUST also implement [RFC8505].  This specification
   does not introduce a new option; it modifies existing options and
   updates the associated behaviors to enable the Registration for
   Multicast Addresses as an extension to [RFC8505].

   This specification also extends [RFC6550] and [RFC9010] in the case
   of a route-over multilink subnet based on the RPL routing protocol,
   to add multicast ingress replication in Non-Storing Mode and anycast
   support in both Storing and Non-Storing modes.  A 6LR that implements
   the RPL extensions specified therein MUST also implement [RFC9010].

   Figure 1 illustrates the classical situation of an LLN as a single
   IPv6 Subnet, with a 6LoWPAN Border Router (6LBR) that acts as Root
   for RPL operations and maintains a registry of the active
   registrations as an abstract data structure called an Address
   Registrar for 6LoWPAN ND.

   The LLN may be a hub-and-spoke access link such as (Low-Power) Wi-Fi
   [IEEE Std 802.11] and Bluetooth (Low Energy) [IEEE Std 802.15.1], or
   a Route-Over LLN such as the Wi-SUN and 6TiSCH meshes [Wi-SUN] that
   leverages 6LoWPAN [RFC4919][RFC6282] and RPL [RFC6550] over [IEEE Std
   802.15.4].

Thubert                  Expires 2 December 2022                [Page 6]
Internet-Draft       Multicast Address Registration             May 2022

                     |
         ----+-------+------------
             |     Wire side
          +------+
          | 6LBR |
          |(Root)|
          +------+
          o  o  o  Wireless side
      o   o o   o  o o
     o  o  o o   o  o  o
    o  o  o   LLN  o   +---+
      o  o   o  o   o  |6LR|
      o o  o o   o     +---+
       o   o   o o o  o    z
      o  o oo o  o        +---+
             o            |6LN|
                          +---+

                          Figure 1: Wireless Mesh

   A leaf acting as a 6LN registers its unicast and anycast addresses a
   RPL router acting as a 6LR, using a layer-2 unicast NS message with
   an EARO as specified in [RFC8505].  The registration state is
   periodically renewed by the Registering Node, before the lifetime
   indicated in the EARO expires.  As for unicast IPv6 addresses, the
   6LR uses an EDAR/EDAR exchange with the 6LBR to notify the 6LBR of
   the presence of the listeners.

   This specification updates the EARO with two new flags, the A flag
   for Anycast, and the M flag for Multicast, as detailed in
   Section 6.1.  The existing R flag that requests reachability for the
   registered address gets new behavior.  With this extension the 6LNs
   can now subscribe to the multicast addresses they listen to, using a
   new M flag in the EARO to signal that the registration is for a
   multicast address.  Multiple 6LN may subscribe to the same multicast
   address to the same 6LR.  Note the use of the term "subscribe": using
   the EARO registration mechanism, a node registers the unicast
   addresses that it owns, but subscribes to the multicast addresses
   that it listens to.

   With this specification, the 6LNs can also register the anycast
   addresses they accept, using a new A flag in the EARO to signal that
   the registration is for an anycast address.  As for multicast,
   multiple 6LN may register the same anycast address to the same 6LR.

Thubert                  Expires 2 December 2022                [Page 7]
Internet-Draft       Multicast Address Registration             May 2022

   If the R flag is set in the registration of one or more 6LNs for the
   same address, the 6LR injects the anycast addresses and multicast
   addresses of a scope larger than link-scope in RPL, based on the
   longest registration lifetime across the active registrations for the
   address.

   In the RPL "Storing Mode of Operation with multicast support", the
   DAO messages for the multicast address percolate along the RPL
   preferred parent tree and mark a subtree that becomes the multicast
   tree for that multicast address, with 6LNs that subscribed to the
   address as the leaves.  As prescribed in section 12 of [RFC6550], the
   6LR forwards a multicast packet as an individual unicast MAC frame to
   each peer along the multicast tree, excepting to the node it received
   the packet from.

   In the new RPL "Non-Storing Mode of Operation with multicast support"
   that is introduced here, the DAO messages announce the multicast
   addresses as Targets though never as Transit.  The multicast
   distribution is an ingress replication whereby the Root encapsulates
   the multicast packets to all the 6LRs that are transit for the
   multicast address, using the same source-routing header as for
   unicast targets attached to the respective 6LRs.

   Broadcasting is typically unreliable in LLNs (no ack) and forces a
   listener to remain awake, so it generally discouraged.  The
   expectation is thus that in either mode, the 6LRs deliver the
   multicast packets as individual unicast MAC frames to each of the
   6LNs that subscribed to the multicast address.

   With this specification, anycast addresses can be injected in RPL in
   both Storing and Non-Storing modes.  In Storing Mode the RPL router
   accepts DAO from multiple children for the same anycast address, but
   only forwards a packet to one of the children.  In Non-Storing Mode,
   the Root maintains the list of all the RPL nodes that announced the
   anycast address as Target, but forwards a given packet to only one of
   them.

   For backward compatibility, this specification allows to build a
   single DODAG signaled as MOP 1, that conveys anycast, unicast and
   multicast packets using the same source routing mechanism, more in
   Section 10.

   It is also possible to leverage this specification between the 6LN
   and the 6LR for the registration of unicast, anycast and multicast
   IPv6 addresses in networks that are not necessarily LLNs, and/or
   where the routing protocol between the 6LR and above is not
   necessarily RPL.  In that case, the distribution of packets between
   the 6LR and the 6LNs may effectively rely on a broadcast or multicast

Thubert                  Expires 2 December 2022                [Page 8]
Internet-Draft       Multicast Address Registration             May 2022

   support at the lower layer, e.g., using this specification as a
   replacement to MLD in an Ethernet bridged domain and still using
   either plain MAC-layer broadcast or snooping this protocol to control
   the flooding.  It may also rely on overlay services to optimize the
   impact of Broadcast, Unknown and Multicast (BUM) over a fabric, e.g.
   registering with [I-D.thubert-bess-secure-evpn-mac-signaling] and
   forwarding with [I-D.ietf-bess-evpn-optimized-ir].

   For instance, it is possible to operate a RPL Instance in the new
   "Non-Storing Mode of Operation with multicast support" (while
   possibly signaling a MOP of 1) and use "Multicast Protocol for
   Low-Power and Lossy Networks (MPL)" [RFC7731] for the multicast
   operation.  MPL floods the DODAG with the multicast messages
   independently of the RPL DODAG topologies.  Two variations are
   possible:

   *  In one possible variation, all the 6LNs set the R flag in the EARO
      for a multicast target, upon which the 6LRs send a unicast DAO
      message to the Root; the Root filters out the multicast messages
      for which there is no listener and only floods when there is.

   *  In a simpler variation, the 6LNs do not set the R flag and the
      Root floods all the multicast packets over the whole DODAG.  Using
      configuration, it is also possible to control the behavior of the
      6LR to ignore the R flag and either always or never send the DAO
      message, and/or to control the Root and specify which groups it
      should flood or not flood.

   Note that if the configuration instructs the 6LR not to send the DAO,
   then MPL can really by used in conjunction with RPL Storing Mode as
   well.

4.  Extending RFC 7400

   This specification defines a new capability bit for use in the 6CIO
   as defined by "6LoWPAN-GHC: Generic Header Compression for IPv6 over
   Low-Power Wireless Personal Area Networks (6LoWPANs)" [RFC7400] and
   extended in [RFC8505] for use in IPv6 ND messages.

   The new "Registration for xcast Address Supported" (X) flag indicates
   to the 6LN that the 6LR accepts unicast, multicast, and anycast
   address registrations as specified in this document and will ensure
   that packets for the Registered Address will be routed to the 6LNs
   that registered with the R flag set appropriately.

   Figure 2 illustrates the X flag in its suggested position (8,
   counting 0 to 15 in network order in the 16-bit array), to be
   confirmed by IANA.

Thubert                  Expires 2 December 2022                [Page 9]
Internet-Draft       Multicast Address Registration             May 2022

       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|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                           Reserved                            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 Figure 2: New Capability Bits in the 6CIO

   New Option Field:

   X  1-bit flag: "Registration for Unicast, Multicast, and Anycast
      Addresses Supported"

5.  Updating RFC 6550

5.1.  Updating MOP 3

   RPL supports multicast operations in the "Storing Mode of Operation
   with multicast support" (MOP 3) which provides source-independent
   multicast routing in RPL, as prescribed in section 12 of [RFC6550].
   MOP 3 is a storing Mode of Operation.  This operation builds a
   multicast tree within the RPL DODAG for each multicast address.  This
   specification provides additional details for the MOP 3 operation.

   The expectation in MOP 3 is that the unicast traffic also follows the
   Storing Mode of Operation.  But this is rarely the case in LLN
   deployments of RPL where the "Non-Storing Mode of Operation" (MOP 1)
   is the norm.  Though it is preferred to build separate RPL Instances,
   one in MOP 1 and one in MOP 3, this specification allows to hybrid
   the Storing Mode for multicast and Non-Storing Mode for unicast in
   the same RPL Instance, more in Section 10.

5.2.  New Non-Storing Multicast MOP

   This specification adds a "Non-Storing Mode of Operation with ingress
   replication multicast support" (MOP to be assigned by IANA) whereby
   the non-storing Mode DAO to the Root may contain multicast addresses
   in the RPL Target Option (RTO), whereas the Transit Information
   Option (TIO) cannot.

   In that mode, the RPL Root performs an ingress replication (IR)
   operation on the multicast packets, meaning that it transmits one
   copy of each multicast packet to each 6LR that is a transit for the
   multicast target, using the same source routing header and
   encapsulation as it would for a unicast packet for a RPL Unaware Leaf
   (RUL) attached to that 6LR.

Thubert                  Expires 2 December 2022               [Page 10]
Internet-Draft       Multicast Address Registration             May 2022

   For the intermediate routers, the packet appears as any source routed
   unicast packet.  The difference shows only at the 6LR, that
   terminates the source routed path and forwards the multicast packet
   to all 6LNs that registered for the multicast address.

   For a packet that is generated by the Root, this means that the Root
   builds a source routing header as shown in section 8.1.3 of
   [RFC9008], but for which the last and only the last address is
   multicast.  For a packet that is not generated by the Root, the Root
   encapsulates the multicast packet as per section 8.2.4 of [RFC9008].
   In that case, the outer header is purely unicast, and the
   encapsulated packet is purely multicast.

   For this new mode as well, this specification allows to enable the
   operation in a MOP 1 brown field, more in Section 10.

5.3.  RPL Anycast Operation

   With multicast, the address has a recognizable format, and a
   multicast packet is to be delivered to all the active subscribers.
   In contrast, the format of an anycast address is not distinguishable
   from that of unicast.  A legacy node may issue a DAO message without
   setting the A flag, the unicast behavior may apply to anycast traffic
   in a subDAGs.  That message will be undistinguishible from a unicast
   advertisement and the anycast behavior in the dataplane can only
   happen if all the nodes that advertise the same anycast address are
   synchronised with the same TID.  That way, the multiple paths can
   remain in the RPL DODAG.

   With the A flag, this specification allevates the issue of
   synchronizing the TIDs, and as for multicast, the freshness
   comparison based on the TID field is ignored.  A target is routed as
   anycast by a parent (or the Root) that received at least one DAO
   message for that target with the A flag set to 1.

   As opposed to multicast, the anycast operation described therein
   applies to both addresses and prefixes, and the A flag can be set for
   both.  An external destination (address or prefix) that may be
   injected as a RPL target from multiple border routers SHOULD be
   injected as anycast in RPL to enable load balancing.  A mobile target
   that is multihomed SHOULD in contrast be advertised as unicast over
   the multiple interfaces to favor the TID comparison and vs. the
   multipath load balancing.

   For either multicast and anycast, there can be multiple registrations
   from multiple parties, each using a different value of the ROVR field
   that identifies the individual registration.  The 6LR MUST maintain a
   registration state per value of the ROVR per multicast or anycast

Thubert                  Expires 2 December 2022               [Page 11]
Internet-Draft       Multicast Address Registration             May 2022

   address, but inject the route into RPL only once for each address,
   and in the case of a multicast address, only if its scope is larger
   than link-scope (3 or more).  Since the registrations are considered
   separate, the check on the TID that acts as registration sequence
   only applies to the registration with the same ROVR.

   The 6LRs that inject multicast and anycast routes into RPL may not be
   synchronized to advertise same value of the Path Sequence in the RPL
   TIO.  It results that the value the Path Sequence is irrelevant when
   the target is anycast or multicast, and that it MUST be ignored.

   Like the 6LR, a RPL router in Storing Mode propagates the route to
   its parent(s) in DAO messages once and only once for each address,
   but it MUST retain a routing table entry for each of the children
   that advertised the address.

   When forwarding multicast packets down the DODAG, the RPL router
   copies all the children that advertised the address in their DAO
   messages.  In contrast, when forwarding anycast packets down the
   DODAG, the RPL router MUST copy one and only one of the children that
   advertised the address in their DAO messages, and forward to one
   parent if there is no such child.

5.4.  New RPL Target Option Flags

   [RFC6550] recognizes a multicast address by its format (as specified
   in section 2.7 of [RFC4291]) and applies the specified multicast
   operation if the address is recognized as multicast.  This
   specification updates [RFC6550] to add the M and A flags to the RTO
   to indicate that the target address is to be processed as multicast
   or anycast, respectively.

   An RTO that has the M flag set to 1 is called a multicast RTO.  An
   RTO that has the A flag set to 1 is called an anycast RTO.  An RTO
   that has both the A and the M flags set to 0 is called an unicast
   RTO.  With this specification, the M and A flags are mutually
   exclusive and MUST NOT be both set to 1.  The capability to set both
   flags is reserved and an RTO that is received with both flags set
   MUST be ignored.

   The suggested position for the A and M flags are 2 and 3 counting
   from 0 to 7 in network order as shown in Figure 3, based on figure 4
   of [RFC9010] which defines the flags in position 0 and 1:

Thubert                  Expires 2 December 2022               [Page 12]
Internet-Draft       Multicast Address Registration             May 2022

      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 = 0x05 | Option Length |F|X|A|M|ROVRsz | Prefix Length |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |                Target Prefix (Variable Length)                |
     .                                                               .
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
    ...            Registration Ownership Verifier (ROVR)           ...
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 Figure 3: Format of the RPL Target Option

6.  Updating RFC 8505

6.1.  New EARO flag

   Section 4.1 of [RFC8505] defines the EARO as an extension to the ARO
   option defined in [RFC6775].

   This specification adds a new M flag to the EARO flags field to
   signal that the Registered Address is a multicast address.  When both
   the M and the R flags are set, the 6LR that conforms to this
   specification joins the multicast stream, e.g., by injecting the
   address in the RPL multicast support which is extended in this
   specification for Non-Storing Mode.

   This specification adds a new A flag to the EARO flags field to
   signal that the Registered Address is an anycast address.  When both
   the A and the R flags are set, the 6LR that conforms to this
   specification injects the anycast address in the RPL anycast support
   that is introduced in this specification for both Storing and Non-
   Storing Modes.

   Figure 4 illustrates the A and M flags in their suggested positions
   (2 and 3, respectively, counting 0 to 7 in network order in the 8-bit
   array), to be confirmed by IANA.

Thubert                  Expires 2 December 2022               [Page 13]
Internet-Draft       Multicast Address Registration             May 2022

      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     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |Rsv|A|M| I |R|T|     TID       |     Registration Lifetime     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
    ...             Registration Ownership Verifier                 ...
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Figure 4: EARO Option Format

   New and updated Option Fields:

   Rsv  2-bit field: reserved, MUST be set to 0 and ignored by the
      receiver

   A  1-bit flag: "Registration for Anycast Address"

   M  1-bit flag: "Registration for Multicast Address"

6.2.  New EDAR Message Flag field

   Section 4 of [RFC6775] provides the same format for DAR and DAC
   messages but the status field is only used in DAC message and has to
   set to zero in DAC messages.  [RFC8505] extends the DAC message as an
   EDAC but does not change the status field in the EDAR.

   This specification repurposes the status field in the EDAR and a
   Flags field.  It adds a new M flag to the EDAR flags field to signal
   that the Registered Address is a multicast address and a new A flag
   to signal that the Registered Address is an anycast address.  As for
   EARO, the flags are mutually exclusive.

   Figure 5 illustrates the A and M flags in their suggested positions
   (0 and 1, respectively, counting 0 to 7 in network order in the 8-bit
   array), to be confirmed by IANA.

Thubert                  Expires 2 December 2022               [Page 14]
Internet-Draft       Multicast Address Registration             May 2022

      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      |CodePfx|CodeSfx|          Checksum             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |A|M| Reserved  |     TID       |     Registration Lifetime     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
    ...            Registration Ownership Verifier (ROVR)           ...
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     +                                                               +
     |                                                               |
     +                       Registered Address                      +
     |                                                               |
     +                                                               +
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Figure 5: Extended Duplicate Address Message Format

   New and updated Option Fields:

   Reserved  6-bit field: reserved, MUST be set to 0 and ignored by the
      receiver

   A  1-bit flag: "Registration for Anycast Address"

   M  1-bit flag: "Registration for Multicast Address"

6.3.  Registering Extensions

   With [RFC8505]:

   *  A router that expects to reboot may send a final RA message, upon
      which nodes should register elsewhere or reregister to this router
      upon reboot.  In all other cases, a node reboot is silent.  When
      the node comes back to life, existing registration state might be
      lost if it was not persisted, e.g., in persistent memory.

   *  Only unicast addresses can be registered.

   *  The 6LN must register all its ULA and GUA with a NS(EARO).

   *  The 6LN may set the R flag in the EARO to obtain return
      reachability services by the 6LR, e.g., through ND proxy
      operations, or by injecting the route in a route-over subnet.

Thubert                  Expires 2 December 2022               [Page 15]
Internet-Draft       Multicast Address Registration             May 2022

   *  the 6LR maintains a registration state per Registered Address,
      including an NCE with the Link Layer Address (LLA) of the
      Registered Node (the 6LN here).

   This specification adds the following behavior:

   *  A new ARO Status is introduced to indicate a "Registration Refresh
      Request" (see Table 7).

      This status is used in asynchronous NA(EARO) messages to indicate
      to peer 6LNs that they are requested to reregister all addresses
      that were previously registered to the originating node.  The NA
      message may be sent to a unicast or a multicast link-scope address
      and should be contained within the L2 range where nodes may
      effectively register to this, e.g., a radio broadcast domain.

      A device that wishes to refresh its state, e.g., upon reboot if it
      may have lost some registration state, may send an asynchronous
      NA(EARO) with this new status value.  That asynchronous NA(ARO)
      SHOULD be sent to the all-nodes link scope multicast address
      (FF02::1) and Target MUST be set to the link local address that
      was exposed previously by this node to accept registrations, and
      the TID MUST be set to 0.

      In an unreliable environment, the multicast NA(EARO) message may
      be resent in a fast sequence, in which case the TID must be
      incremented each time.  A 6LN that has recently processed the
      NA(ARO) ignores the NA(EARO) with a newer TID received within the
      duration of the fast sequence.  That duration depends on the
      environent and has to be configured.  By default, it is of 10
      seconds.

   *  A new IPv6 ND Node Uptime option (NUO) is introduced to be placed
      in IPv6 ND messages.  The NUO carries a Node State Sequence
      Information (NSSI) and a Node Uptime.  See Section 9 for the
      option details.

      A node that receives the NUO checks whether it is indicative of a
      loss of state, such as an address registration, in the sender.  If
      so, it may attempt to reform the state, e.g., by re-registering an
      address.  A loss of state is inferred if the NSSI has changed
      since last sight, or the Node Uptime is less than the time since
      the state was installed.

   *  Registration for multicast and anycast addresses is now supported.
      New flags are added to the EARO to signal when the registered
      address is anycast or multicast.

Thubert                  Expires 2 December 2022               [Page 16]
Internet-Draft       Multicast Address Registration             May 2022

   *  The Status field in the EDAR message that was reserved and not
      used in RFC 8505 is repurposed to transport the flags to signal
      multicast and anycast.

   *  The 6LN MUST also register all the IPv6 multicast addresses that
      it listens to but the all_nodes link-scope multicast address
      FF02::1 [RFC4291] which is implicitly registered, and it MUST set
      the M flag in the EARO for those addresses.

   *  The 6LN MAY set the R flag in the EARO to obtain the delivery of
      the multicast packets by the 6LR, e.g., by MLD proxy operations,
      or by injecting the address in a route-over subnet or in the
      Protocol Independent Multicast [RFC7761] protocol.

   *  The 6LN MUST also register all the IPv6 anycast addresses that it
      supports and it MUST set the A flag in the EARO for those
      addresses.

   *  The 6LR and the 6LBR are extended to accept more than one
      registration for the same address when it is anycast or multicast,
      since multiple 6LNs may subscribe to the same address of these
      types.  In both cases, the Registration Ownership Verifier (ROVR)
      in the EARO identifies uniquely a registration within the
      namespace of the Registered Address.

   *  The 6LR MUST also consider that all the nodes that registered an
      address to it (as known by the SLLAO) also registered to the all
      nodes link-scope multicast address FF02::1 [RFC4291].

   *  The 6LR MUST maintain a registration state per tuple (IPv6
      address, ROVR) for both anycast and multicast types of address.
      It SHOULD notify the 6LBR with an EDAR message, unless it
      determined that the 6LBR is legacy and does not support this
      specification.  In turn, the 6LBR MUST maintain a registration
      state per tuple (IPv6 address, ROVR) for both anycast and
      multicast types of address.

7.  Updating RFC 9010

   With [RFC9010]:

   *  The 6LR injects only unicast routes in RPL

   *  Upon a registration with the R flag set to 1 in the EARO, the 6LR
      injects the address in the RPL unicast support.

Thubert                  Expires 2 December 2022               [Page 17]
Internet-Draft       Multicast Address Registration             May 2022

   *  Upon receiving a packet directed to a unicast address for which it
      has an active registration, the 6LR delivers the packet as a
      unicast layer-2 frame to the LLA the nodes that registered the
      unicast address.

   This specification adds the following behavior:

   *  Upon a registration with the R and the M flags set to 1 in the
      EARO, if the scope of the multicast address is above link-scope
      [RFC7346], then the 6LR injects the address in the RPL multicast
      support and sets the M flag in the RTO.

   *  Upon a registration with the R and the A flags set to 1 in the
      EARO, the 6LR injects the address in the new RPL anycast support
      and sets the A flag in the RTO.

   *  Upon receiving a packet directed to a multicast address for which
      it has at least one registration, the 6LR delivers a copy of the
      packet as a unicast layer-2 frame to the LLA of each of the nodes
      that registered to that multicast address.

   *  Upon receiving a packet directed to a multicast address for which
      it has at least one registration, the 6LR delivers a copy of the
      packet as a unicast layer-2 frame to the LLA of exactly one of the
      nodes that registered to that multicast address.

8.  Leveraging RFC 8928

   Address-Protected Neighbor Discovery for Low-Power and Lossy Networks
   [RFC8928] was defined to protect the ownership of unicast IPv6
   addresses that are registered with [RFC8505].

   With [RFC8928], it is possible for a node to autoconfigure a pair of
   public and private keys and use them to sign the registration of
   addresses that are either autoconfigured or obtained through other
   methods.

   The first hop router (the 6LR) may then validate a registration and
   perform source address validation on packets coming from the sender
   node (the 6LN).

   Anycast and multicast addresses are not owned by one node.  Multiple
   nodes may subscribe to the same address.  Also, anycast and multicast
   addresses are not used to source traffic.  In that context, the
   method specified in [RFC8928] cannot be used with autoconfigured
   keypairs to protect a single ownership.

Thubert                  Expires 2 December 2022               [Page 18]
Internet-Draft       Multicast Address Registration             May 2022

   For an anycast or a multicast address, it is still possible to
   leverage [RFC8928] to enforce the right to subscribe.  A keypair MUST
   be associated with the address before it is deployed, and a ROVR MUST
   be generated from that keypair as specified in [RFC8928].  The
   address and the ROVR MUST then be installed in the 6LBR so it can
   recognize the address and compare the ROVR on the first registration.

   The keypair MUST then be provisioned in each node that needs to
   subscribe to the anycast or multicast address, so the node can follow
   the steps in [RFC8928] to register the address.

9.  Node Uptime Option

   This specification introduces a new option that characterizes the
   uptime of the sender.  The option may be used by routers in RA
   messages and by any node in NA, NA, and RS messages.  It is used by
   the receiver to infer whether some state synchronizaton might be
   lost, e.g., due to reboot.

      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    |          Checksum             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |S|  flags  |       NSSI        | Exponent  |  Uptime Mantissa  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Figure 6: Node Uptime Option Format

   Type  To be assigned by IANA, see Table 8

   Length  1

   S  1-bit flag, set to indicate that the device is low-power and may
      sleep.

   flags  5-bit, reserved.  MUST be set to 0 by the sender and ignored
      by the receiver.

   NSSI  10-bits unsigned integer: The Node State Sequence Information

   Uptime Exponent  6-bits unsigned integer: The 2-exponent of the
      uptime unit

   Uptime Mantissa  10-bits unsigned integer: The mantissa of the uptime
      value

Thubert                  Expires 2 December 2022               [Page 19]
Internet-Draft       Multicast Address Registration             May 2022

   The Node Uptime indicates how long the sender has been continuously
   up and unning without loss of state.  It is expressed by the Uptime
   Mantissa in units of 2 at the power of the Uptime Exponent
   milliseconds.

   The initial value and the steps of the Uptime Exponent are chosen
   freely by the implementation, but the value MUST NOT decrease over
   time.  This means that 2 expressions of time from the same node can
   be compared by aggregating the Exponent + Mantissa Uptime fields and
   considering the aggregate globally as a 16-bits unsigned integer.

             +----------+----------+------------+-----------+
             | Mantissa | Exponent | Resolution | Uptime    |
             +----------+----------+------------+-----------+
             | 1        | 0        | 1ms        | 1ms       |
             +----------+----------+------------+-----------+
             | 5        | 10       | 1s         | 5 seconds |
             +----------+----------+------------+-----------+
             | 2        | 15       | 30s        | 1mn       |
             +----------+----------+------------+-----------+
             | 2        | 21       | 33mn       | 1 hour    |
             +----------+----------+------------+-----------+

                    Table 1: Node Uptime Rough Values

   The NSSI SHOULD be stored by this node in persistent memory by the
   sender and incremented when it reboots and lost state.  When
   persisting is not possible, then the NSSI is randomly generated upon
   a loss of state.  Any change in the value of the NSSI from a node is
   an indication that the node lost state and that the needful state
   should eb reinstalled, e.g., addresses registered to that node should
   be registered again with a minimal temporisation to avoid collisions.

10.  Deployment considerations

   With this specification, a RPL DODAG forms a realm, and multiple RPL
   DODAGs may federated in a single RPL Instance administratively.  This
   means that a multicast address that needs to span a RPL DODAG MUST
   use a scope of Realm-Local whereas a multicast address that needs to
   span a RPL Instance MUST use a scope of Admin-Local as discussed in
   section 3 of "IPv6 Multicast Address Scopes" [RFC7346].

   "IPv6 Addressing of IPv4/IPv6 Translators" [RFC6052] enables to embed
   IPv4 addresses in IPv6 addresses.  The Root of a DODAG may leverage
   that technique to translate IPv4 traffic in IPv6 and route along the
   RPL domain.  When encapsulating an packet with an IPv4 multicast
   Destination Address, it MUST use a multicast address with the
   appropriate scope, Realm-Local or Admin-Local.

Thubert                  Expires 2 December 2022               [Page 20]
Internet-Draft       Multicast Address Registration             May 2022

   "Unicast-Prefix-based IPv6 Multicast Addresses" [RFC3306] enables to
   form 2^32 multicast addresses from a single /64 prefix.  If an IPv6
   prefix is associated to an Instance or a RPL DODAG, this provides a
   namespace that can be used in any desired fashion.  It is for
   instance possible for a standard defining organization to form its
   own registry and allocate 32-bit values from that namespace to
   network functions or device types.  When used within a RPL deployment
   that is associated with a /64 prefix the IPv6 multicast addresses can
   be automatically derived from the prefix and the 32-bit value for
   either a Realm-Local or an Admin-Local multicast address as needed in
   the configuration.

   IN a "green field" deployment where all nodes support this
   specification, it is possible to deploy a single RPL Instance using a
   multicast MOP for unicast, multicast and anycast addresses.

   In a "brown field" where legacy devices that do not support this
   specification co-exist with upgraded devices, it is RECOMMENDED to
   deploy one RPL Instance in any Mode of Operation (typically MOP 1)
   for unicast that legacy nodes can join, and a separate RPL Instance
   dedicated to multicast and anycast operations using a multicast MOP.

   To deploy a Storing Mode multicast operation using MOP 3 in a RPL
   domain, it is required that there is enough density of RPL routers
   that support MOP 3 to build a DODAG that covers all the potential
   listeners and include the spanning multicast trees that are needed to
   distribute the multicast flows.  This might not be the case when
   extending the capabilities of an existing network.

   In the case of the new Non-Storing multicast MOP, arguably the new
   support is only needed at the 6LRs that will accept multicast
   listeners.  It is still required that each listener can reach at
   least one such 6LR, so the upgraded 6LRs must be deployed to cover
   all the 6LN that need multicast services.

   Using separate RPL Instances for in the one hand unicast traffic and
   in the other hand anycast and multicast traffic allows to use
   different objective function, one favoring the link quality up for
   unicast collection and one favoring downwards link quality for
   multicast distribution.

   But this might be impractical in some use cases where the signaling
   and the state to be installed in the devices are very constrained,
   the upgraded devices are too sparse, or the devices do not support
   more multiple instances.

Thubert                  Expires 2 December 2022               [Page 21]
Internet-Draft       Multicast Address Registration             May 2022

   When using a single RPL Instance, MOP 3 expects the Storing Mode of
   Operation for both unicast and multicast, which is an issue in
   constrained networks that typically use MOP 1 for unicast.  This
   specification allows a mixed mode that is signaled as MOP 1 in the
   DIO messages for backward compatibility, where limited multicast and/
   or anycast is available, under the following conditions:

   *  There MUST be enough density of 6LRs that support the mixed mode
      to cover the all the 6LNs that require multicast or anycast
      services.  In Storing Mode, there MUST be enough density or 6LR
      that support the mixed mode to also form a DODAG to the Root.

   *  The RPL routers that support the mixed mode and are configured to
      operate in in accordance with the desired operation in the
      network.

   *  The MOP signaled in the RPL DODAG Information Object (DIO)
      messages is MOP 1 to enable the legacy nodes to operate as leaves.

   *  The support of multicast and/or anycast in the RPL Instance SHOULD
      be signaled by the 6LRs to the 6LN using a 6CIO, see Section 4.

   *  Alternatively, the support of multicast in the RPL domain can be
      globally known by other means such as configuration or external
      information such as support of a version of an industry standard
      that mandates it.  In that case, all the routers MUST support the
      mixed mode.

11.  Security Considerations

   This specification extends [RFC8505], and the security section of
   that document also applies to this document.  In particular, the link
   layer SHOULD be sufficiently protected to prevent rogue access.

   Section 8 leverages [RFC8928] to prevent an unwanted subscriber to
   register for an anycast of a multicast address.  This mechanism comes
   with a keypair that is shared between all subscribers.  A shared key
   is prone to be stolen and the level of protection can only go down
   with time.

   It is possible to update the keys associated to an address in all the
   6LNs, but the flow is not clearly documented and may not complete in
   due time for all nodes in LLN use cases.  It may be simpler to
   install a all-new address with new keys over a period of time, and
   switch the traffic to that address when the migration is complete.

Thubert                  Expires 2 December 2022               [Page 22]
Internet-Draft       Multicast Address Registration             May 2022

12.  Backward Compatibility

   A legacy 6LN will not register multicast addresses and the service
   will be the same when the network is upgraded.  A legacy 6LR will not
   set the M flag in the 6CIO and an upgraded 6LN will not register
   multicast addresses.

   Upon an EDAR message, a legacy 6LBR may not realize that the address
   being registered is anycast or multicast, and return that it is
   duplicate in the EDAC status.  The 6LR MUST ignore a duplicate status
   in the EDAR for anycast and multicast addresses.

   As detailed in Section 10, it is possible to add multicast on an
   existing MOP 1 deployment.

   The combination of a multicast address and the M flag set to 0 in an
   RTO in a MOP 3 RPL Instance is understood by the receiver that
   supports this specification (the parent) as an indication that the
   sender (child) does not support this specification, but the RTO is
   accepted and processed as if the M flag was set for backward
   compatibility.

   When the DODAG is operated in MOP 3, a legacy node will not set the M
   flag and still expect multicast service as specified in section 12 of
   [RFC6550].  In MOP 3 an RTO that is received with a target that is
   multicast and the M bit set to 0 MUST be considered as multicast and
   MUST be processed as if the M flag is set.

13.  IANA Considerations

   Note to RFC Editor, to be removed: please replace "This RFC"
   throughout this document by the RFC number for this specification
   once it is allocated.  Also, the I Field is defined in [RFC9010] but
   is missing from the subregistry, so the bit positions must be added
   for completeness.

   IANA is requested to make changes under the "Internet Control Message
   Protocol version 6 (ICMPv6) Parameters" [IANA.ICMP] and the "Routing
   Protocol for Low Power and Lossy Networks (RPL)" [IANA.RPL]
   registries, as follows:

13.1.  New EDAR Message Flags Subregistry

   IANA is requested to create a new "EDAR Message Flags" subregistry of
   the "Internet Control Message Protocol version 6 (ICMPv6) Parameters"
   registry as indicated in Table 2:

Thubert                  Expires 2 December 2022               [Page 23]
Internet-Draft       Multicast Address Registration             May 2022

   +---------------+---------------------------------------+-----------+
   | Bit Number    | Meaning                               | Reference |
   +---------------+---------------------------------------+-----------+
   | 0 (suggested) | A flag: Registered                    | This RFC  |
   |               | Address is Anycast                    |           |
   +---------------+---------------------------------------+-----------+
   | 1 (suggested) | M flag: Registered                    | This RFC  |
   |               | Address is Multicast                  |           |
   +---------------+---------------------------------------+-----------+

                        Table 2: EDAR Message flags

13.2.  New EARO flags

   IANA is requested to make additions to the "Address Registration
   Option Flags" [IANA.ICMP.ARO.FLG] of the "Internet Control Message
   Protocol version 6 (ICMPv6) Parameters" registry as indicated in
   Table 3:

           +---------------+-----------------------+-----------+
           | ARO flag      | Meaning               | Reference |
           +---------------+-----------------------+-----------+
           | 2 (suggested) | A flag: Registration  | This RFC  |
           |               | for Anycast Address   |           |
           +---------------+-----------------------+-----------+
           | 3 (suggested) | M flag: Registration  | This RFC  |
           |               | for Multicast Address |           |
           +---------------+-----------------------+-----------+
           | 4 and 5       | "I" Field             | RFC 8505  |
           +---------------+-----------------------+-----------+

                           Table 3: New ARO flags

13.3.  New RTO flags

   IANA is requested to make additions to the "RPL Target Option Flags"
   [IANA.RPL.RTO.FLG] subregistry of the "Routing Protocol for Low Power
   and Lossy Networks (RPL)" registry as indicated in Table 4:

Thubert                  Expires 2 December 2022               [Page 24]
Internet-Draft       Multicast Address Registration             May 2022

   +---------------+---------------------------------------+-----------+
   | Bit Number    | Meaning                               | Reference |
   +---------------+---------------------------------------+-----------+
   | 2 (suggested) | A flag: Registered                    | This RFC  |
   |               | Address is Anycast                    |           |
   +---------------+---------------------------------------+-----------+
   | 3 (suggested) | M flag: Registered                    | This RFC  |
   |               | Address is Multicast                  |           |
   +---------------+---------------------------------------+-----------+

                           Table 4: New RTO flags

13.4.  New RPL Mode of Operation

   IANA is requested to make an addition to the "Mode of Operation"
   [IANA.RPL.MOP] subregistry of the "Routing Protocol for Low Power and
   Lossy Networks (RPL)" registry as indicated in Table 5:

   +---------------+---------------------------------------+-----------+
   | Value         | Description                           | Reference |
   +---------------+---------------------------------------+-----------+
   | 5             | Non-Storing Mode of Operation with    | This RFC  |
   | (suggested)   | ingress replication multicast support |           |
   +---------------+---------------------------------------+-----------+

                     Table 5: New RPL Mode of Operation

13.5.  New 6LoWPAN Capability Bits

   IANA is requested to make an addition to the "6LoWPAN Capability
   Bits" [IANA.ICMP.6CIO] subregistry subregistry of the "Internet
   Control Message Protocol version 6 (ICMPv6) Parameters" registry as
   indicated in Table 6:

         +-------------+-----------------------------+-----------+
         | Capability  | Meaning                     | Reference |
         | Bit         |                             |           |
         +-------------+-----------------------------+-----------+
         | 8           | X flag: Registration for    | This RFC  |
         | (suggested) | Unicast, Multicast, and     |           |
         |             | Anycast Addresses Supported |           |
         +-------------+-----------------------------+-----------+

                    Table 6: New 6LoWPAN Capability Bits

Thubert                  Expires 2 December 2022               [Page 25]
Internet-Draft       Multicast Address Registration             May 2022

13.6.  New Address Registration Option Status Values

   IANA has made additions to the "Address Registration Option Status
   Values" subregistry under the "Internet Control Message Protocol
   version 6 (ICMPv6) Parameters" registry, as follows:

       +----------------+------------------------------+-----------+
       | Value          | Description                  | Reference |
       +----------------+------------------------------+-----------+
       | 11 (suggested) | Registration Refresh Request | This RFC  |
       +----------------+------------------------------+-----------+

          Table 7: New Address Registration Option Status Values"

13.7.  New IPv6 Neighbor Discovery Option

   IANA has made additions to the "IPv6 Neighbor Discovery Option
   Formats" subregistry under the "Internet Control Message Protocol
   version 6 (ICMPv6) Parameters" registry, as follows:

            +----------------+--------------------+-----------+
            | Value          | Description        | Reference |
            +----------------+--------------------+-----------+
            | 42 (suggested) | Node Uptime Option | This RFC  |
            +----------------+--------------------+-----------+

                Table 8: New IPv6 Neighbor Discovery Option"

14.  Acknowledgments

15.  Normative References

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

   [RFC3306]  Haberman, B. and D. Thaler, "Unicast-Prefix-based IPv6
              Multicast Addresses", RFC 3306, DOI 10.17487/RFC3306,
              August 2002, <https://www.rfc-editor.org/info/rfc3306>.

   [RFC4291]  Hinden, R. and S. Deering, "IP Version 6 Addressing
              Architecture", RFC 4291, DOI 10.17487/RFC4291, February
              2006, <https://www.rfc-editor.org/info/rfc4291>.

Thubert                  Expires 2 December 2022               [Page 26]
Internet-Draft       Multicast Address Registration             May 2022

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

   [RFC6550]  Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J.,
              Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur,
              JP., and R. Alexander, "RPL: IPv6 Routing Protocol for
              Low-Power and Lossy Networks", RFC 6550,
              DOI 10.17487/RFC6550, March 2012,
              <https://www.rfc-editor.org/info/rfc6550>.

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

   [RFC7346]  Droms, R., "IPv6 Multicast Address Scopes", RFC 7346,
              DOI 10.17487/RFC7346, August 2014,
              <https://www.rfc-editor.org/info/rfc7346>.

   [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/info/rfc7400>.

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

   [RFC8200]  Deering, S. and R. Hinden, "Internet Protocol, Version 6
              (IPv6) Specification", STD 86, RFC 8200,
              DOI 10.17487/RFC8200, July 2017,
              <https://www.rfc-editor.org/info/rfc8200>.

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

Thubert                  Expires 2 December 2022               [Page 27]
Internet-Draft       Multicast Address Registration             May 2022

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

   [IANA.ICMP]
              IANA, "IANA Registry for ICMPv6", IANA,
              https://www.iana.org/assignments/icmpv6-parameters/
              icmpv6-parameters.xhtml.

   [IANA.ICMP.ARO.FLG]
              IANA, "IANA Sub-Registry for the ARO Flags", IANA,
              https://www.iana.org/assignments/icmpv6-parameters/
              icmpv6-parameters.xhtml#icmpv6-adress-registration-option-
              flags.

   [IANA.ICMP.6CIO]
              IANA, "IANA Sub-Registry for the 6LoWPAN Capability Bits",
              IANA, https://www.iana.org/assignments/icmpv6-parameters/
              icmpv6-parameters.xhtml#sixlowpan-capability-bits.

   [IANA.RPL] IANA, "IANA Registry for the RPL",
              IANA, https://www.iana.org/assignments/rpl/rpl.xhtml.

   [IANA.RPL.RTO.FLG]
              IANA, "IANA Sub-Registry for the RTO Flags", IANA, 
              https://www.iana.org/assignments/rpl/rpl.xhtml#rpl-target-
              option-flags.

   [IANA.RPL.MOP]
              IANA, "IANA Sub-Registry for the RPL Mode of Operation",
              IANA, https://www.iana.org/assignments/rpl/rpl.xhtml#mop.

16.  Informative References

   [RFC3810]  Vida, R., Ed. and L. Costa, Ed., "Multicast Listener
              Discovery Version 2 (MLDv2) for IPv6", RFC 3810,
              DOI 10.17487/RFC3810, June 2004,
              <https://www.rfc-editor.org/info/rfc3810>.

Thubert                  Expires 2 December 2022               [Page 28]
Internet-Draft       Multicast Address Registration             May 2022

   [RFC4919]  Kushalnagar, N., Montenegro, G., and C. Schumacher, "IPv6
              over Low-Power Wireless Personal Area Networks (6LoWPANs):
              Overview, Assumptions, Problem Statement, and Goals",
              RFC 4919, DOI 10.17487/RFC4919, August 2007,
              <https://www.rfc-editor.org/info/rfc4919>.

   [RFC6282]  Hui, J., Ed. and P. Thubert, "Compression Format for IPv6
              Datagrams over IEEE 802.15.4-Based Networks", RFC 6282,
              DOI 10.17487/RFC6282, September 2011,
              <https://www.rfc-editor.org/info/rfc6282>.

   [RFC7731]  Hui, J. and R. Kelsey, "Multicast Protocol for Low-Power
              and Lossy Networks (MPL)", RFC 7731, DOI 10.17487/RFC7731,
              February 2016, <https://www.rfc-editor.org/info/rfc7731>.

   [RFC7761]  Fenner, B., Handley, M., Holbrook, H., Kouvelas, I.,
              Parekh, R., Zhang, Z., and L. Zheng, "Protocol Independent
              Multicast - Sparse Mode (PIM-SM): Protocol Specification
              (Revised)", STD 83, RFC 7761, DOI 10.17487/RFC7761, March
              2016, <https://www.rfc-editor.org/info/rfc7761>.

   [RFC6052]  Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X.
              Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052,
              DOI 10.17487/RFC6052, October 2010,
              <https://www.rfc-editor.org/info/rfc6052>.

   [RFC9008]  Robles, M.I., Richardson, M., and P. Thubert, "Using RPI
              Option Type, Routing Header for Source Routes, and IPv6-
              in-IPv6 Encapsulation in the RPL Data Plane", RFC 9008,
              DOI 10.17487/RFC9008, April 2021,
              <https://www.rfc-editor.org/info/rfc9008>.

   [I-D.ietf-bess-evpn-optimized-ir]
              Rabadan, J., Sathappan, S., Lin, W., Katiyar, M., and A.
              Sajassi, "Optimized Ingress Replication Solution for
              Ethernet VPN (EVPN)", Work in Progress, Internet-Draft,
              draft-ietf-bess-evpn-optimized-ir-12, 25 January 2022,
              <https://datatracker.ietf.org/doc/html/draft-ietf-bess-
              evpn-optimized-ir-12>.

   [Wi-SUN]   Heile, B., (Remy), B. L., Zhang, M., and C. E. Perkins,
              "Wi-SUN FAN Overview", Work in Progress, Internet-Draft,
              draft-heile-lpwan-wisun-overview-00, 3 July 2017,
              <https://datatracker.ietf.org/doc/html/draft-heile-lpwan-
              wisun-overview-00>.

Thubert                  Expires 2 December 2022               [Page 29]
Internet-Draft       Multicast Address Registration             May 2022

   [I-D.thubert-bess-secure-evpn-mac-signaling]
              Thubert, P., Przygienda, T., and J. Tantsura, "Secure EVPN
              MAC Signaling", Work in Progress, Internet-Draft, draft-
              thubert-bess-secure-evpn-mac-signaling-03, 31 January
              2022, <https://datatracker.ietf.org/doc/html/draft-
              thubert-bess-secure-evpn-mac-signaling-03>.

   [IEEE Std 802.15.4]
              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".

   [IEEE Std 802.11]
              IEEE standard for Information Technology, "IEEE Standard
              802.11 - IEEE Standard for Information Technology -
              Telecommunications and information exchange between
              systems Local and metropolitan area networks - Specific
              requirements - Part 11: Wireless LAN Medium Access Control
              (MAC) and Physical Layer (PHY) Specifications.",
              <https://ieeexplore.ieee.org/document/9363693>.

   [IEEE Std 802.15.1]
              IEEE standard for Information Technology, "IEEE Standard
              for Information Technology - Telecommunications and
              Information Exchange Between Systems - Local and
              Metropolitan Area Networks - Specific Requirements. - Part
              15.1: Wireless Medium Access Control (MAC) and Physical
              Layer (PHY) Specifications for Wireless Personal Area
              Networks (WPANs)".

Author's Address

   Pascal Thubert (editor)
   Cisco Systems, Inc
   Building D
   45 Allee des Ormes - BP1200
   06254 Mougins - Sophia Antipolis
   France
   Phone: +33 497 23 26 34
   Email: pthubert@cisco.com

Thubert                  Expires 2 December 2022               [Page 30]