Lines Matching refs:ar
76 struct arphdr ar; in arp_request() local
80 ar.ar_hrd = htons(ifp->hwtype); in arp_request()
81 ar.ar_pro = htons(ETHERTYPE_IP); in arp_request()
82 ar.ar_hln = ifp->hwlen; in arp_request()
83 ar.ar_pln = sizeof(tip->s_addr); in arp_request()
84 ar.ar_op = htons(ARPOP_REQUEST); in arp_request()
100 APPEND(&ar, sizeof(ar)); in arp_request()
242 struct arphdr ar; in arp_packet() local
267 if (len < sizeof(ar)) in arp_packet()
269 memcpy(&ar, data, sizeof(ar)); in arp_packet()
271 if (!arp_validate(ifp, &ar)) { in arp_packet()
279 hw_s = data + sizeof(ar); in arp_packet()
280 hw_t = hw_s + ar.ar_hln + ar.ar_pln; in arp_packet()
282 if ((size_t)((hw_t + ar.ar_hln + ar.ar_pln) - data) > len) in arp_packet()
286 if (ar.ar_hln == ifn->hwlen && in arp_packet()
297 memcpy(&arm.sha, hw_s, ar.ar_hln); in arp_packet()
298 memcpy(&arm.sip.s_addr, hw_s + ar.ar_hln, ar.ar_pln); in arp_packet()
299 memcpy(&arm.tha, hw_t, ar.ar_hln); in arp_packet()
300 memcpy(&arm.tip.s_addr, hw_t + ar.ar_hln, ar.ar_pln); in arp_packet()
305 is_probe = ar.ar_op == htons(ARPOP_REQUEST) && IN_IS_ADDR_UNSPECIFIED(&arm.sip) && in arp_packet()
307 if (is_probe && falen > 0 && (falen != ar.ar_hln || in arp_packet()
308 memcmp(&arm.sha, &arm.fsha, ar.ar_hln))) { in arp_packet()
311 hwaddr_ntoa(&arm.sha, ar.ar_hln, abuf, sizeof(abuf)); in arp_packet()