]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
IPV4LL addresses are not BOOTP.
authorRoy Marples <roy@marples.name>
Sun, 1 Feb 2009 20:22:08 +0000 (20:22 +0000)
committerRoy Marples <roy@marples.name>
Sun, 1 Feb 2009 20:22:08 +0000 (20:22 +0000)
dhcpf.h

diff --git a/dhcpf.h b/dhcpf.h
index 727590e08c42808d4187f7a1866e8aa7619581d7..04d70493a6106a95aa756476d7faeb83b0c1f634 100644 (file)
--- 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 *);