aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>2008-04-14 02:42:18 -0400
committerDavid S. Miller <davem@davemloft.net>2008-04-14 02:42:18 -0400
commitb077d7ababdb5433aef18c62bf1f785e8729f49a (patch)
tree0fa561ab57495cad85084329d61a96e466d11854
parente9df2e8fd8fbc95c57dbd1d33dada66c4627b44c (diff)
[IPV6] ADDRCONF: Ensure disabling multicast RS even if privacy extensions are disabled.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ipv6/addrconf.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index a65935a9afd9..b9eeb4f51d48 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -371,6 +371,15 @@ static struct inet6_dev * ipv6_add_dev(struct net_device *dev)
371 */ 371 */
372 in6_dev_hold(ndev); 372 in6_dev_hold(ndev);
373 373
374#if defined(CONFIG_IPV6_SIT) || defined(CONFIG_IPV6_SIT_MODULE)
375 if (dev->type == ARPHRD_SIT && (dev->priv_flags & IFF_ISATAP)) {
376 printk(KERN_INFO
377 "%s: Disabled Multicast RS\n",
378 dev->name);
379 ndev->cnf.rtr_solicits = 0;
380 }
381#endif
382
374#ifdef CONFIG_IPV6_PRIVACY 383#ifdef CONFIG_IPV6_PRIVACY
375 setup_timer(&ndev->regen_timer, ipv6_regen_rndid, (unsigned long)ndev); 384 setup_timer(&ndev->regen_timer, ipv6_regen_rndid, (unsigned long)ndev);
376 if ((dev->flags&IFF_LOOPBACK) || 385 if ((dev->flags&IFF_LOOPBACK) ||
@@ -383,13 +392,6 @@ static struct inet6_dev * ipv6_add_dev(struct net_device *dev)
383 "%s: Disabled Privacy Extensions\n", 392 "%s: Disabled Privacy Extensions\n",
384 dev->name); 393 dev->name);
385 ndev->cnf.use_tempaddr = -1; 394 ndev->cnf.use_tempaddr = -1;
386
387 if (dev->type == ARPHRD_SIT && (dev->priv_flags & IFF_ISATAP)) {
388 printk(KERN_INFO
389 "%s: Disabled Multicast RS\n",
390 dev->name);
391 ndev->cnf.rtr_solicits = 0;
392 }
393 } else { 395 } else {
394 in6_dev_hold(ndev); 396 in6_dev_hold(ndev);
395 ipv6_regen_rndid((unsigned long) ndev); 397 ipv6_regen_rndid((unsigned long) ndev);