Subject: (IPng 7576) Multicast Listener Discovery Question

From: Jean-Luc Richier <[email-masked]>
Date: Wed, 2 Jun 1999 11:23:32 +0200 (MET DST)

I have a question about draft-ietf-ipngwg-mld-01.txt about source address
selection for messages.

RFC2461 and RFC2462 state that when a new address is added,
a node must join the sollicited node multicast group very early, in order
to be able to perform Duplicate address detection.
Joining means, according to  draft-ietf-ipngwg-mld-01.txt, that the node
performs the Multicast Listener Discovery protocol, that is (cf. paragraph 4,
Protocol Description) :
    MLD messages ARE sent for multicast addresses whose scope is 2 (link-
    local), including Solicited-Node multicast addresses [ADDR-ARCH], except
    for the link-scope, all-nodes address (FF02::1).

    When a node starts listening to a multicast address on an interface, it
    should immediately transmit an unsolicited Report for that address on
    that interface, in case it is the first listener on the link.  To cover
    the possibility of the initial Report being lost or damaged, it is
    recommended that it be repeated once or twice after short delays
    [Unsolicited Report Interval].  (A simple way to accomplish this is to
    send the initial Report and then act as if a Multicast-Address-Specific
    Query was received for that address, and set a timer appropriately).

Also the node should reply to any Multicast query.

I suppose the rationale is that even though multicast addresses whose scope
is 2 should not be routed, there can be level 2 bridge/switch which are
performing multicast selective forwarding, and thus engage in the mld protocol

But now I think that there is a problem at the initialisation of an interface:

Consider a node that start IPv6 on an interface X; it computes the Link-local
address (llX) of the interface and start Duplicate address detection. So the
node set the tentative address llX on interface X, and therefore enter on X
the sollicited multicast group (maX) associated with llX. Therefore the node
``should immediately transmit an unsolicited Report'' for maX.

MY QUESTION IS: What is the IPv6 source address for this Report?

The interface X has not yet any valid IPv6 address, and using the tentative
address llX seems dangerous: In the duplicate address discussion in
RFC2462, it is stated that:

   If a node begins using an address in parallel with Duplicate Address
   Detection, and another node is already using the address, the node
   performing Duplicate Address Detection will erroneously process
   traffic intended for the other node, resulting in such possible
   negative consequences ...
For example DUD messages use :: as source address.

Delaying transmission of report is not allowed by the draft

So perheaps a correct source address for these messages is :: ?
Or is using the tentative IPv6 address as IPv6 source harmless ?

-- 
Jean-Luc RICHIER ([email-masked]  [email-masked])
Laboratoire Logiciels, Systemes et Reseaux (LSR-IMAG)
IMAG-CAMPUS, BP 72, F-38402 St Martin d'Heres Cedex
Tel : +33 4 76 82 72 32 Fax : +33 4 76 82 72 87
--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page:                      http://playground.sun.com/ipng
FTP archive:                      ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [email-masked]
--------------------------------------------------------------------

---

From: Steve Deering <[email-masked]>
Date: Wed, 2 Jun 1999 11:53:20 -0700

>performing multicast selective forwarding, and thus engage in the mld protocol

Approximately right.  The reason for requiring listener reports for
multicast addresses of link-local scope is to facilitate "MLD snooping"
by layer 2 bridges.  The way that's currently done (for IPv4), the
bridges don't fully "engage" in the protocol, e.g., they don't issue
queries, but they do understand the protocol and act on messages they
observe. 

>MY QUESTION IS: What is the IPv6 source address for this Report?

Good question!

>Or is using the tentative IPv6 address as IPv6 source harmless ?

In this particular case, using the tentative address as the source
of the report would be harmless, I think.  But for "correctness",
I would prefer to see the all-zeros address used as the source
address of any packets sent before DAD completes.

Steve