Changeset 962f03b in mainline for uspace/srv/ethip/arp.c
- Timestamp:
- 2012-02-27T19:32:15Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 56792a2
- Parents:
- 87e5658c
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/ethip/arp.c
r87e5658c r962f03b 46 46 #include "std.h" 47 47 48 #define MY_IPV4_ADDR ( (192 << 24) | (168 << 16) | (0 << 8) | 4U )49 48 #define MY_ETH_ADDR 0xaafeedfaceee 50 49 … … 56 55 arp_eth_packet_t packet; 57 56 arp_eth_packet_t reply; 57 ethip_link_addr_t *laddr; 58 58 59 59 log_msg(LVL_DEBUG, "arp_received()"); … … 65 65 log_msg(LVL_DEBUG, "ARP PDU decoded, opcode=%d, tpa=%x", 66 66 packet.opcode, packet.target_proto_addr.ipv4); 67 if (packet.opcode == aop_request && 68 packet.target_proto_addr.ipv4 == MY_IPV4_ADDR) { 69 log_msg(LVL_DEBUG, "Request on my address"); 67 if (packet.opcode == aop_request) { 68 log_msg(LVL_DEBUG, "ARP request"); 70 69 71 reply.opcode = aop_reply; 72 reply.sender_hw_addr.addr = MY_ETH_ADDR; 73 reply.sender_proto_addr.ipv4 = MY_IPV4_ADDR; 74 reply.target_hw_addr = packet.sender_hw_addr; 75 reply.target_proto_addr = packet.sender_proto_addr; 70 laddr = ethip_nic_addr_find(nic, &packet.target_proto_addr); 71 if (laddr != NULL) { 72 log_msg(LVL_DEBUG, "Request on my address"); 76 73 77 arp_send_packet(nic, &reply); 74 reply.opcode = aop_reply; 75 reply.sender_hw_addr.addr = MY_ETH_ADDR; 76 reply.sender_proto_addr = laddr->addr; 77 reply.target_hw_addr = packet.sender_hw_addr; 78 reply.target_proto_addr = packet.sender_proto_addr; 79 80 arp_send_packet(nic, &reply); 81 } 78 82 } 79 83 }
Note:
See TracChangeset
for help on using the changeset viewer.