| From ee9910b75ac41ac7e2c83ad4fba6b5b9b079c8fc Mon Sep 17 00:00:00 2001 |
| From: Hannes Frederic Sowa <hannes@stressinduktion.org> |
| Date: Tue, 6 Nov 2012 16:18:41 +0000 |
| Subject: ipv6: send unsolicited neighbour advertisements to all-nodes |
| |
| |
| From: Hannes Frederic Sowa <hannes@stressinduktion.org> |
| |
| [ Upstream commit 60713a0ca7fd6651b951cc1b4dbd528d1fc0281b ] |
| |
| As documented in RFC4861 (Neighbor Discovery for IP version 6) 7.2.6., |
| unsolicited neighbour advertisements should be sent to the all-nodes |
| multicast address. |
| |
| Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| net/ipv6/ndisc.c | 3 +-- |
| 1 file changed, 1 insertion(+), 2 deletions(-) |
| |
| --- a/net/ipv6/ndisc.c |
| +++ b/net/ipv6/ndisc.c |
| @@ -615,7 +615,7 @@ static void ndisc_send_unsol_na(struct n |
| { |
| struct inet6_dev *idev; |
| struct inet6_ifaddr *ifa; |
| - struct in6_addr mcaddr; |
| + struct in6_addr mcaddr = IN6ADDR_LINKLOCAL_ALLNODES_INIT; |
| |
| idev = in6_dev_get(dev); |
| if (!idev) |
| @@ -623,7 +623,6 @@ static void ndisc_send_unsol_na(struct n |
| |
| read_lock_bh(&idev->lock); |
| list_for_each_entry(ifa, &idev->addr_list, if_list) { |
| - addrconf_addr_solict_mult(&ifa->addr, &mcaddr); |
| ndisc_send_na(dev, NULL, &mcaddr, &ifa->addr, |
| /*router=*/ !!idev->cnf.forwarding, |
| /*solicited=*/ false, /*override=*/ true, |