ifp->name, inet_ntoa(astate->addr));
if (!(ifo->options & DHCPCD_INFORM))
dhcp_bind(ifp);
-#ifndef IN_IFF_TENTATIVE
+#ifndef IN_IFF_DUPLICATED
else {
struct bootp *bootp;
size_t len;
if (astate == NULL)
return -1;
-#ifdef IN_IFF_TENTATIVE
+#ifdef IN_IFF_NOTUSEABLE
if (ia == NULL || ia->addr_flags & IN_IFF_NOTUSEABLE) {
state->state = DHS_PROBE;
if (ia == NULL) {
* While it supports DaD, to seems to only expose IFF_DUPLICATE
* so we have no way of knowing if it's tentative or not.
* I don't even know if Solaris has any special treatment for tentative. */
-# define IN_IFF_TENTATIVE 0
# define IN_IFF_DUPLICATED 0x02
-# define IN_IFF_DETACHED 0
+# define IN_IFF_NOTUSEABLE IN_IFF_DUPLICATED
#endif
#ifdef IN_IFF_TENTATIVE
ipv4ll_probe(void *arg)
{
-#ifdef IN_IFF_TENTATIVE
+#ifdef IN_IFF_DUPLICATED
ipv4ll_probed(arg);
#else
arp_probe(arg);
if (ia == NULL)
ia = ipv4_iffindlladdr(ifp);
-#ifdef IN_IFF_TENTATIVE
+#ifdef IN_IFF_DUPLICATED
if (ia != NULL && ia->addr_flags & IN_IFF_DUPLICATED) {
ipv4_deladdr(ia, 0);
ia = NULL;
ifp->name, inet_ntoa(ia->addr));
return;
}
+#endif
+#ifdef IN_IFF_DUPLICATED
loginfox("%s: using IPv4LL address %s", ifp->name, ia->saddr);
#endif
ipv4ll_probed(astate);
if (state->pickedaddr.s_addr == INADDR_ANY)
state->pickedaddr.s_addr = ipv4ll_pickaddr(astate);
astate->addr = state->pickedaddr;
-#ifdef IN_IFF_TENTATIVE
+#ifdef IN_IFF_DUPLICATED
ipv4ll_probed(astate);
#else
arp_probe(astate);