Fixes #37.
While here, don't open a DHCP port for static addresses either
when not in manager mode.
#ifdef IPV4LL
/* Stop IPv4LL now we have a working DHCP address */
- ipv4ll_drop(ifp);
+ if (!IN_LINKLOCAL(ntohl(ia->s_addr)))
+ ipv4ll_drop(ifp);
#endif
if (ifp->options->options & DHCPCD_INFORM)
openudp:
/* If not in manager mode, open an address specific socket. */
if (ctx->options & DHCPCD_MANAGER ||
+ ifo->options & DHCPCD_STATIC ||
(state->old != NULL &&
state->old->yiaddr == state->new->yiaddr &&
old_state & STATE_ADDED && !(old_state & STATE_FAKE)))