RFC 3590 (rfc3590) - Page 2 of 6
Source Address Selection for the Multicast Listener Discovery (MLD) Protocol
Alternative Format: Original Text Document
RFC 3590 Source Address Selection for MLD Protocol September 2003
This document will clarify the IPv6 source address selection rules
for use with MLD when no link-local addresses are available.
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC 2119].
3. Justification
In [RFC 2710], Section 3 requires that all MLD messages be sent with
a valid link-local IPv6 source address. However, a node in the
process of performing duplicate address detection for its link-local
(LL) address will not have one available to use as a source address.
For this reason, this document allows the unspecified address to be
used as a source address for MLD messages being used during duplicate
address detection.
The discrepancies in the rules defined in [RFC 2710] and [RFC 2462]
has led to implementation issues. Several IPv6 implementations skip
sending MLD Report messages during duplicate address detection
because they have no valid link-local address. This leads to
operational problems when a node is attached to switches that perform
MLD snooping. In this scenario, duplicate address detection (DAD)
will complete successfully and collisions can occur once the address
is put into use because switches may not have forwarded the DAD
messages to all nodes on the link as required. This document fixes
this problem by specifying that MLD reports are to be sent using an
unspecified source address prior to DAD being started in order to
ensure that messages sent to LL multicast addresses (e.g., including
MLD) are forwarded to all appropriate nodes as required.
4. MLD Source Address Selection Guidelines
An MLD speaking node is required to choose a suitable IPv6 source
address for all MLD messages (Report, Done, and Query).
MLD Query messages MUST be sent with a valid link-local address as
the IPv6 source address. If a node (router or host) receives a query
message with an IPv6 source address set to the unspecified address
(::), it MUST silently discard the message and SHOULD log a warning.
MLD Report and Done messages are sent with a link-local address as
the IPv6 source address, if a valid address is available on the
interface. If a valid link-local address is not available (e.g., one
has not been configured), the message is sent with the unspecified
address (::) as the IPv6 source address.
Haberman Standards Track