chiark / gitweb /
sd-ipv4ll: fix packet broadcasting
authorTom Gundersen <teg@jklm.no>
Mon, 7 Apr 2014 07:12:59 +0000 (09:12 +0200)
committerTom Gundersen <teg@jklm.no>
Mon, 7 Apr 2014 07:13:02 +0000 (09:13 +0200)
Umut said: 'I have noticed a bug that we are sending PROBE/ANNOUNCE messages on
00:00:00:00:00:00 address where it should be broadcast.'

src/libsystemd-network/ipv4ll-network.c

index 1ebf4ac81797c9d881afa2e1dedf022bb78ea45f..9525408de964e523e56015f9bc1894ca7e869b0d 100644 (file)
@@ -43,9 +43,10 @@ int arp_network_bind_raw_socket(int index, union sockaddr_union *link) {
                 return -errno;
 
         link->ll.sll_family = AF_PACKET;
-        link->ll.sll_ifindex = index;
         link->ll.sll_protocol = htons(ETH_P_ARP);
+        link->ll.sll_ifindex = index;
         link->ll.sll_halen = ETH_ALEN;
+        memset(link->ll.sll_addr, 0xff, ETH_ALEN);
 
         if (bind(s, &link->sa, sizeof(link->ll)) < 0) {
                 safe_close(s);