Date: Fri, 20 May 2011 17:08:17 +0200 From: MrMulleMeck <mrmullemeck@gmail.com> To: freebsd-net@freebsd.org Subject: rtsol set IFF_UP when started - why? Message-ID: <BANLkTin7=UU9XPZNN3myfGcKh6qmdXr0VA@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
When rtsol(d) starts, it check the interface status (flags). If flags are not (IFF_UP|IFF_RUNNING) rtsol concludes the interface is "not active". However, immediately after this, rtsol will activate/set the IFF_UP flag (if not set) causing DAD to start. Let say that the link is not ready yet (but in a short period of time) when rtsold starts, wouldn't this cause DAD to believe that the address is OK (no response since RS messages are actually never sent over the wire)? What is the rationale (if any) for rtsol to set the IFF_UP flag? It seems that rtsold will wait anyway for DAD later on? interface_up(char *name) { ... if (!(ifr.ifr_flags & IFF_UP)) { ifr.ifr_flags |= IFF_UP; if (ioctl(ifsock, SIOCSIFFLAGS, (caddr_t)&ifr) < 0) warnmsg(LOG_ERR, __func__, "ioctl(SIOCSIFFLAGS): %s", strerror(errno)); return(-1); } BR, MM
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTin7=UU9XPZNN3myfGcKh6qmdXr0VA>