if the autoconf sysctl is off this patch will prevent an interface from picking up a link local address just because it gets turned up.. you want a sysctl.conf that looks like net/ipv6/conf/all/accept_ra=0 net/ipv6/conf/default/accept_ra=0 net/ipv6/conf/lo/accept_ra=0 net/ipv6/conf/all/autoconf=0 net/ipv6/conf/default/autoconf=0 - Patrick McManus 4/27/05 Index: net/ipv6/addrconf.c =================================================================== --- 3608de2fc88b062070a9d197eda9cac1fb9635d3/net/ipv6/addrconf.c (mode:100644 sha1:7196ac2f2d1688d410e2f51973f90c0118549c63) +++ uncommitted/net/ipv6/addrconf.c (mode:100664) @@ -1855,6 +1855,9 @@ printk(KERN_DEBUG "init loopback: add_dev failed\n"); return; } + + if (idev->cnf.autoconf == 0) + return; ifp = ipv6_add_addr(idev, &in6addr_loopback, 128, IFA_HOST, IFA_F_PERMANENT); if (!IS_ERR(ifp)) { @@ -1894,9 +1897,10 @@ } idev = addrconf_add_dev(dev); - if (idev == NULL) + if ((idev == NULL) || (idev->cnf.autoconf == 0)) return; + memset(&addr, 0, sizeof(struct in6_addr)); addr.s6_addr32[0] = htonl(0xFE800000);