Subject: node-req-bis - making a note about multicast

From: Julien Abeillé <[email-masked]>
Date: Fri, 14 Mar 2008 10:09:18 +0100

Hi all,

in RFC4294 in section 4.6 MLDv2 support is a SHOULD for all "nodes that 
need to join multicast groups"

Moreover, a node with at least one multicast capable interface MUST join 
the all-nodes and solicited node multicast group (as per ND section 7.2.1).

It means that all nodes with multicast capable interfaces SHOULD support 
MLDv2.

For an non ND expert, it is not clear from section 4.6.

My question is: should there be a note somewhere stating that all nodes 
with a multicast capable interface are covered by "nodes that need to 
join multicast groups".

Sorry if this has been discussed already.

Regards,
Julien
--------------------------------------------------------------------
IETF IPv6 working group mailing list
[email-masked]
Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

---

From: Thomas Narten <[email-masked]>
Date: Sat, 15 Mar 2008 11:54:59 -0700

> need to join multicast groups"

In reading this, the current wording is not particularly clear. The
first "if" means that the SHOULD really ought to be a MUST (IMO).
I.e., if a node has an application that runs multicast, it MUST run
MLD. Otherwise, things won't work properly.

That said, one needs to run MLD just to support Neighbor Discovery
properly (see 7.2.1 of RFC 4861). So, it would appear that running MLD
really is a MUST in practice.

Well, almost. One needs to run MLD on link technologies that require
the use of ND (and multicast) _and_ that may be bridged, i.e,
LANs. But I can imagine some link types where there won't be bridging,
and more importantly, IP multicast won't be supported and Address
Resolution is done in a link-specific way. See section 5.2 of the
node-req-bis document for more explanation.  So I think a MUST for MLD
is too strong, but _just_ barely. :-)

So, I wonder whether the better text for this section would be
something like:

   Nodes that need to join multicast groups MUST support MLD. MLD is
   needed by any node that is expected to receive and process
   multicast traffic. Note that Neighbor Discovery (as used on most
   link types -- see Section 5.2) depends on multicast and requires
   that nodes join Solicited Node multicast addresses.

   Nodes SHOULD implement MLDv2 [RFC3810].  However, if the node has
   applications that only need support for Any-Source Multicast, the
   node MAY implement MLDv1 [RFC2710] instead.  If the node has
   applications that need support for Source-Specific Multicast
   [RFC3569], [RFC4607], the node MUST support MLDv2 [RFC3810]. In all
   cases, nodes are strongly encouraged to implement MLDv2 rather than
   MLDv1, as the presence of a single MLDv1 participant on a link
   requires that all other nodes on the link operate in version 1
   compatability mode.

   If MLDv1 is implemented, the rules in the Source Address Selection
   for the Multicast Listener Discovery (MLD) Protocol [RFC3590] MUST
   be followed.

Thomas