Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I run an ICMPv6 protocol and I have made a capture using wireshark. In the capture I have some Multicast Listener Report Message v2. Some of the has the source ip, the ipv6 link local address, but some of them has :: as the source address? Please can you tell me why Multicast Listener Report Messages v2 with the :: source address are sent?

Thanks!

share|improve this question
add comment

1 Answer

RFC 3810 section 5.2.13 explains this:

An MLDv2 Report MUST be sent with a valid IPv6 link-local source address, or the unspecified address (::), if the sending interface has not acquired a valid link-local address yet. Sending reports with the unspecified address is allowed to support the use of IP multicast in the Neighbor Discovery Protocol [RFC2461]. For stateless autoconfiguration, as defined in [RFC2462], a node is required to join several IPv6 multicast groups, in order to perform Duplicate Address Detection (DAD). Prior to DAD, the only address the reporting node has for the sending interface is a tentative one, which cannot be used for communication. Thus, the unspecified address must be used.

This is different behavior than MLDv1. RFC 3590 section 3 explains the rationale for the change in more depth.

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.

share|improve this answer
    
Thank you very much! This is very useful! So, as I understood there is also a possibility, if the link-local address is assigned, to send directly the MLDv2 with the assigned address, without the sending the message with the "::" source. –  Dragos Jun 10 '13 at 20:55
    
Right, once the interface has an address, then it will be used. –  Michael Hampton Jun 10 '13 at 20:57
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.