From: Roy Marples Date: Sat, 1 Feb 2014 10:40:40 +0000 (+0000) Subject: Fix auto-configure X-Git-Tag: v6.3.0~61 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d00f7bee5ef48797c8da25dadf48bc268ae7bbc6;p=thirdparty%2Fdhcpcd.git Fix auto-configure --- diff --git a/dhcp.c b/dhcp.c index b9b6c463..f4a9a45d 100644 --- a/dhcp.c +++ b/dhcp.c @@ -2275,7 +2275,7 @@ dhcp_handledhcp(struct interface *iface, struct dhcp_message **dhcpp, free(msg); } if (state->state == DHS_DISCOVER && - get_option_uint8(&tmp, dhcp, DHO_AUTOCONFIGURE) != 0) + get_option_uint8(&tmp, dhcp, DHO_AUTOCONFIGURE) == 0) { switch (tmp) { case 0: @@ -2290,7 +2290,11 @@ dhcp_handledhcp(struct interface *iface, struct dhcp_message **dhcpp, log_dhcp(LOG_WARNING, "IPv4LL enabled from", iface, dhcp, from); eloop_timeout_delete(NULL, iface); - ipv4ll_start(iface); + if (IN_LINKLOCAL(htonl(state->addr.s_addr))) + eloop_timeout_add_sec(DHCP_MAX, + dhcp_discover, iface); + else + ipv4ll_start(iface); break; default: syslog(LOG_ERR,