aboutsummaryrefslogtreecommitdiff
path: root/src/net/arp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/arp.c')
-rw-r--r--src/net/arp.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/net/arp.c b/src/net/arp.c
index 714b471..9b5fd22 100644
--- a/src/net/arp.c
+++ b/src/net/arp.c
@@ -155,8 +155,8 @@ int arp_resolve ( struct net_device *netdev, struct net_protocol *net_protocol,
dest_net_addr, net_protocol->net_addr_len );
/* Transmit ARP request */
- if ( ( rc = net_tx ( iobuf, netdev, &arp_protocol,
- netdev->ll_broadcast ) ) != 0 )
+ if ( ( rc = net_tx ( iobuf, netdev, &arp_protocol,
+ netdev->ll_broadcast, netdev->ll_addr ) ) != 0 )
return rc;
return -ENOENT;
@@ -195,6 +195,7 @@ static struct arp_net_protocol * arp_find_protocol ( uint16_t net_proto ) {
* details.
*/
static int arp_rx ( struct io_buffer *iobuf, struct net_device *netdev,
+ const void *ll_dest __unused,
const void *ll_source __unused ) {
struct arphdr *arphdr = iobuf->data;
struct arp_net_protocol *arp_net_protocol;
@@ -261,7 +262,7 @@ static int arp_rx ( struct io_buffer *iobuf, struct net_device *netdev,
/* Send reply */
net_tx ( iob_disown ( iobuf ), netdev, &arp_protocol,
- arp_target_ha ( arphdr ) );
+ arp_target_ha ( arphdr ), netdev->ll_addr );
done:
free_iob ( iobuf );