summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-08-06 16:57:28 +0300
committerLennart Poettering <lennart@poettering.net>2008-08-06 16:57:28 +0300
commit0f4e5df89826ac152c1091ca41f44ff283b4a590 (patch)
tree5b171bd9850f5b1e554ea01d66ec723cff287eff
parent23ca50a5a56b6ea98a73480cff50ebb73ecba7ca (diff)
parentd6ce91c0b5258c2e107415704413f42edfab2c30 (diff)
Merge branch 'master' of ssh://rootserver/home/lennart/git/public/avahi
-rw-r--r--avahi-autoipd/main.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/avahi-autoipd/main.c b/avahi-autoipd/main.c
index 01ccc79..ef529b9 100644
--- a/avahi-autoipd/main.c
+++ b/avahi-autoipd/main.c
@@ -1144,9 +1144,13 @@ static int loop(int iface, uint32_t addr) {
for (i = 0; i < ETHER_ADDRLEN; i++)
a += hw_address[i]*i;
+ a = (a % 0xFE00) + 0x0100;
+
addr = htonl(IPV4LL_NETWORK | (uint32_t) a);
}
+ assert(is_ll_address(addr));
+
set_state(st, 1, addr);
daemon_log(LOG_INFO, "Starting with address %s", inet_ntop(AF_INET, &addr, buf, sizeof(buf)));