Lines Matching refs:arp
107 struct ether_arp arp; in arpwhohas() member
114 struct ether_arp arp; in arpwhohas() member
136 ah = &wbuf.data.arp; in arpwhohas()
158 ah = &rbuf.data.arp; in arpwhohas()
277 struct ether_arp *arp = pkt; in arp_reply() local
279 if (arp->arp_hrd != htons(ARPHRD_ETHER) || in arp_reply()
280 arp->arp_pro != htons(ETHERTYPE_IP) || in arp_reply()
281 arp->arp_hln != sizeof(arp->arp_sha) || in arp_reply()
282 arp->arp_pln != sizeof(arp->arp_spa) ) in arp_reply()
291 if (arp->arp_op != htons(ARPOP_REQUEST)) { in arp_reply()
300 if (memcmp(arp->arp_tpa, &d->myip, sizeof(arp->arp_tpa))) in arp_reply()
305 printf("%s: to %s\n", __func__, ether_sprintf(arp->arp_sha)); in arp_reply()
309 arp->arp_op = htons(ARPOP_REPLY); in arp_reply()
311 (void)memcpy(arp->arp_tha, arp->arp_sha, sizeof(arp->arp_tha)); in arp_reply()
312 (void)memcpy(arp->arp_tpa, arp->arp_spa, sizeof(arp->arp_tpa)); in arp_reply()
314 (void)memcpy(arp->arp_sha, d->myea, sizeof(arp->arp_sha)); in arp_reply()
315 (void)memcpy(arp->arp_spa, &d->myip, sizeof(arp->arp_spa)); in arp_reply()
321 (void) sendether(d, pkt, sizeof(*arp) + 18, in arp_reply()
322 arp->arp_tha, ETHERTYPE_ARP); in arp_reply()