Changes in uspace/srv/net/ethip/arp.c [a35b458:b4edc96] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/ethip/arp.c
ra35b458 rb4edc96 1 1 /* 2 * Copyright (c) 20 12Jiri Svoboda2 * Copyright (c) 2021 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 36 36 37 37 #include <errno.h> 38 #include <io/log.h>39 38 #include <inet/iplink_srv.h> 40 39 #include <inet/addr.h> 40 #include <inet/eth_addr.h> 41 #include <io/log.h> 41 42 #include <stdlib.h> 42 43 #include "arp.h" … … 79 80 80 81 (void) atrans_add(packet.sender_proto_addr, 81 packet.sender_hw_addr);82 &packet.sender_hw_addr); 82 83 83 84 if (packet.opcode == aop_request) { … … 85 86 86 87 reply.opcode = aop_reply; 87 addr48(nic->mac_addr, reply.sender_hw_addr);88 reply.sender_hw_addr = nic->mac_addr; 88 89 reply.sender_proto_addr = laddr_v4; 89 addr48(packet.sender_hw_addr, reply.target_hw_addr);90 reply.target_hw_addr = packet.sender_hw_addr; 90 91 reply.target_proto_addr = packet.sender_proto_addr; 91 92 … … 95 96 96 97 errno_t arp_translate(ethip_nic_t *nic, addr32_t src_addr, addr32_t ip_addr, 97 addr48_tmac_addr)98 eth_addr_t *mac_addr) 98 99 { 99 100 /* Broadcast address */ 100 101 if (ip_addr == addr32_broadcast_all_hosts) { 101 addr48(addr48_broadcast, mac_addr);102 *mac_addr = eth_addr_broadcast; 102 103 return EOK; 103 104 } … … 110 111 111 112 packet.opcode = aop_request; 112 addr48(nic->mac_addr, packet.sender_hw_addr);113 packet.sender_hw_addr = nic->mac_addr; 113 114 packet.sender_proto_addr = src_addr; 114 addr48(addr48_broadcast, packet.target_hw_addr);115 packet.target_hw_addr = eth_addr_broadcast; 115 116 packet.target_proto_addr = ip_addr; 116 117 … … 138 139 return rc; 139 140 140 addr48(packet->target_hw_addr, frame.dest);141 addr48(packet->sender_hw_addr, frame.src);141 frame.dest = packet->target_hw_addr; 142 frame.src = packet->sender_hw_addr; 142 143 frame.etype_len = ETYPE_ARP; 143 144 frame.data = pdata;
Note:
See TracChangeset
for help on using the changeset viewer.