ipv6: Make 'addrconf_rs_timer' send Router Solicitations (and re-arm itself) if Router Advertisements are accepted
As of 026359b
[ipv6: Send ICMPv6 RSes only when RAs are accepted],
Router Solicitations are sent whenever kernel accepts Router
Advertisements on the interface.
However, this logic isn't reflected in 'addrconf_rs_timer'.
The timer fails to issue subsequent RS messages (and fails to re-arm
itself) if forwarding is enabled and the special hybrid mode is
enabled (accept_ra=2).
Fix the condition determining whether next RS should be sent, by using
'ipv6_accept_ra()'.
Reported-by: Ami Koren <amikoren@yahoo.com>
Signed-off-by: Shmulik Ladkani <shmulik.ladkani@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
1c85382e30
Коммит
9ba2add3cf
|
@ -2988,7 +2988,7 @@ static void addrconf_rs_timer(unsigned long data)
|
|||
if (idev->dead || !(idev->if_flags & IF_READY))
|
||||
goto out;
|
||||
|
||||
if (idev->cnf.forwarding)
|
||||
if (!ipv6_accept_ra(idev))
|
||||
goto out;
|
||||
|
||||
/* Announcement received after solicitation was sent */
|
||||
|
|
Загрузка…
Ссылка в новой задаче