ipv6: send Change Status Report after DAD is completed
authorFlavio Leitner <fbl@redhat.com>
Thu, 16 Jan 2014 21:27:59 +0000 (19:27 -0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 18 Jan 2014 02:12:29 +0000 (18:12 -0800)
commit6a7cc41872dd46719fde09756e55e870cd453da8
tree5fe2f208acd35fffae7787800cd9832a5c1a71a6
parentc3bc40e28be45cb168bae2b0b0a0731742eb4fa9
ipv6: send Change Status Report after DAD is completed

The RFC 3810 defines two type of messages for multicast
listeners. The "Current State Report" message, as the name
implies, refreshes the *current* state to the querier.
Since the querier sends Query messages periodically, there
is no need to retransmit the report.

On the other hand, any change should be reported immediately
using "State Change Report" messages. Since it's an event
triggered by a change and that it can be affected by packet
loss, the rfc states it should be retransmitted [RobVar] times
to make sure routers will receive timely.

Currently, we are sending "Current State Reports" after
DAD is completed.  Before that, we send messages using
unspecified address (::) which should be silently discarded
by routers.

This patch changes to send "State Change Report" messages
after DAD is completed fixing the behavior to be RFC compliant
and also to pass TAHI IPv6 testsuite.

Signed-off-by: Flavio Leitner <fbl@redhat.com>
Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/mcast.c