- /* source ET addr */
- memcpy(&arp->ar_sha, NetOurEther, ARP_HLEN);
- /* source IP addr */
- NetWriteIP(&arp->ar_spa, NetOurIP);
- /* dest ET addr = 0 */
- memset(&arp->ar_tha, 0, ARP_HLEN);
+ memcpy(&arp->ar_sha, NetOurEther, ARP_HLEN); /* source ET addr */
+ NetWriteIP(&arp->ar_spa, sourceIP); /* source IP addr */
+ memcpy(&arp->ar_tha, targetEther, ARP_HLEN); /* target ET addr */
+ NetWriteIP(&arp->ar_tpa, targetIP); /* target IP addr */
+
+ NetSendPacket(NetArpTxPacket, eth_hdr_size + ARP_HDR_SIZE);
+}
+
+void ArpRequest(void)
+{