From: Roy Marples Date: Sun, 1 Feb 2009 20:22:08 +0000 (+0000) Subject: IPV4LL addresses are not BOOTP. X-Git-Tag: v5.0.0~82 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f0b019342fd8129274f8cd9c882cfd1572d81da4;p=thirdparty%2Fdhcpcd.git IPV4LL addresses are not BOOTP. --- diff --git a/dhcpf.h b/dhcpf.h index 727590e0..04d70493 100644 --- a/dhcpf.h +++ b/dhcpf.h @@ -42,7 +42,9 @@ int get_option_addr(uint32_t *, const struct dhcp_message *, uint8_t); int get_option_uint32(uint32_t *, const struct dhcp_message *, uint8_t); int get_option_uint16(uint16_t *, const struct dhcp_message *, uint8_t); int get_option_uint8(uint8_t *, const struct dhcp_message *, uint8_t); -#define is_bootp(m) (m && get_option_uint8(NULL, m, DHO_MESSAGETYPE) == -1) +#define is_bootp(m) (m && \ + !IN_LINKLOCAL(htonl((m)->yiaddr)) && \ + get_option_uint8(NULL, m, DHO_MESSAGETYPE) == -1) struct rt *get_option_routes(const struct dhcp_message *); ssize_t configure_env(char **, const char *, const struct dhcp_message *, const struct if_options *);