]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit6a76475eb39dd4a0a963b1ed4a332bb985490460
tree5fe2f208acd35fffae7787800cd9832a5c1a71a6
parent4b90b4a98ed582f6958f9e379950e1d3c3055b60
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