summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2009-02-01 20:22:08 +0000
committerRoy Marples <roy@marples.name>2009-02-01 20:22:08 +0000
commitf0b019342fd8129274f8cd9c882cfd1572d81da4 (patch)
treec845e466c4e30eaac707f6806161077b3767f10e
parentc2189713b5853ae9b4f51d774cb8f8c5ef790efd (diff)
downloaddhcpcd-f0b019342fd8129274f8cd9c882cfd1572d81da4.tar.xz
IPV4LL addresses are not BOOTP.
-rw-r--r--dhcpf.h4
1 files changed, 3 insertions, 1 deletions
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 *);