This patch fixes problem with disapearing all-nodes (ff02::1) multicast address after setting interface down and up. When all-nodes address is not present IPv6 address autoconfiguration doesn't work. Jacek Konieczny diff -durN linux-2.2.16.orig/net/ipv6/addrconf.c linux/net/ipv6/addrconf.c --- linux-2.2.16.orig/net/ipv6/addrconf.c Tue Jan 4 19:12:27 2000 +++ linux/net/ipv6/addrconf.c Fri Jun 9 20:37:48 2000 @@ -255,8 +255,6 @@ idev = ipv6_add_dev(dev); if (idev == NULL) return NULL; - if (dev->flags&IFF_UP) - ipv6_mc_up(idev); } return idev; } @@ -1045,6 +1043,8 @@ return; } + ipv6_mc_up(idev); + addrconf_lock(); ifp = ipv6_add_addr(idev, &addr, IFA_HOST); @@ -1084,6 +1084,8 @@ if (idev == NULL) return; + ipv6_mc_up(idev); + #ifdef CONFIG_IPV6_EUI64 memset(&addr, 0, sizeof(struct in6_addr)); @@ -1120,6 +1122,8 @@ printk(KERN_DEBUG "init sit: add_dev failed\n"); return; } + + ipv6_mc_up(idev); sit_add_v4_addrs(idev);