]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
Fix regression on Linux for sending packets over non Ethernet devices.
authorRoy Marples <roy@marples.name>
Wed, 21 Feb 2007 23:22:25 +0000 (23:22 +0000)
committerRoy Marples <roy@marples.name>
Wed, 21 Feb 2007 23:22:25 +0000 (23:22 +0000)
ChangeLog
socket.c

index 738ed45fae9e03484c26f5c3f20d56a5880cc5d9..3462ab1850ef8d251eabcf978e85ee79ff05a872 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,4 @@
+Fix regression on Linux for sending packets over non Ethernet devices.
 define ARPHRD_IEEE1394 if it doesn not exist, like for Linux-2.4 kernels.
 
 dhcpcd-3.0.12
index 84a6589f6d1f01bb969b393cd670cd52e5003db0..ee945398717c7fa2b7a31a32ab4f85c6d882fb96 100644 (file)
--- a/socket.c
+++ b/socket.c
@@ -495,8 +495,8 @@ int send_packet (const interface_t *iface, const int type,
   sll.sll_family = AF_PACKET;
   sll.sll_protocol = htons (type);
   sll.sll_ifindex = if_nametoindex (iface->name);
-  sll.sll_halen = iface->hwlen;
-  memset(sll.sll_addr, 0xff, sizeof (sll.sll_addr));
+  sll.sll_halen = ETHER_ADDR_LEN;
+  memset(sll.sll_addr, 0xff, ETHER_ADDR_LEN);
 
   if ((retval = sendto (iface->fd, data, len, 0, (struct sockaddr *) &sll,
                        sizeof (struct sockaddr_ll))) < 0)