diff 1b594354f7d5dcc28fde2bd15d1b79cb6f1cb3da uncommitted --- a/sys/src/cmd/ip/ipconfig/ipv6.c +++ b/sys/src/cmd/ip/ipconfig/ipv6.c @@ -655,6 +655,7 @@ if(m > 100 || r->prefixlt != ~0UL && r->prefixlt < now-r->time || r->routerlt != ~0UL && r->routerlt < now-r->time + || ipcmp(r->src, ra->src) == 0 && r->prefixlt != 0 && conf.validlt == 0 || ipcmp(r->src, ra->src) == 0 && r->routerlt != 0 && conf.routerlt == 0){ DEBUG("purging RA from %I on %s; pfx %I %M", r->src, conf.dev, r->laddr, r->mask); @@ -715,6 +716,7 @@ memmove(r->hash, hash, SHA1dlen); if(conf.routerlt == 0 + || conf.validlt == 0 || isula(conf.laddr) || ipcmp(conf.gaddr, conf.laddr) == 0 || ipcmp(conf.gaddr, conf.lladdr) == 0)