Lines Matching refs:arp
56 struct arp_hdr *arp; in arp_raw_request() local
66 arp = (struct arp_hdr *)pkt; in arp_raw_request()
68 arp->ar_hrd = htons(ARP_ETHER); in arp_raw_request()
69 arp->ar_pro = htons(PROT_IP); in arp_raw_request()
70 arp->ar_hln = ARP_HLEN; in arp_raw_request()
71 arp->ar_pln = ARP_PLEN; in arp_raw_request()
72 arp->ar_op = htons(ARPOP_REQUEST); in arp_raw_request()
74 memcpy(&arp->ar_sha, net_ethaddr, ARP_HLEN); /* source ET addr */ in arp_raw_request()
75 net_write_ip(&arp->ar_spa, source_ip); /* source IP addr */ in arp_raw_request()
76 memcpy(&arp->ar_tha, target_ethaddr, ARP_HLEN); /* target ET addr */ in arp_raw_request()
77 net_write_ip(&arp->ar_tpa, target_ip); /* target IP addr */ in arp_raw_request()
126 struct arp_hdr *arp; in arp_receive() local
141 arp = (struct arp_hdr *)ip; in arp_receive()
146 if (ntohs(arp->ar_hrd) != ARP_ETHER) in arp_receive()
148 if (ntohs(arp->ar_pro) != PROT_IP) in arp_receive()
150 if (arp->ar_hln != ARP_HLEN) in arp_receive()
152 if (arp->ar_pln != ARP_PLEN) in arp_receive()
158 if (net_read_ip(&arp->ar_tpa).s_addr != net_ip.s_addr) in arp_receive()
161 switch (ntohs(arp->ar_op)) { in arp_receive()
166 arp->ar_op = htons(ARPOP_REPLY); in arp_receive()
167 memcpy(&arp->ar_tha, &arp->ar_sha, ARP_HLEN); in arp_receive()
168 net_copy_ip(&arp->ar_tpa, &arp->ar_spa); in arp_receive()
169 memcpy(&arp->ar_sha, net_ethaddr, ARP_HLEN); in arp_receive()
170 net_copy_ip(&arp->ar_spa, &net_ip); in arp_receive()
181 if ((net_read_ip(&arp->ar_tpa).s_addr & net_netmask.s_addr) != in arp_receive()
182 (net_read_ip(&arp->ar_spa).s_addr & net_netmask.s_addr)) in arp_receive()
197 sprintf(buf, "%pM", &arp->ar_sha); in arp_receive()
202 reply_ip_addr = net_read_ip(&arp->ar_spa); in arp_receive()
208 arp->ar_data); in arp_receive()
213 &arp->ar_sha, ARP_HLEN); in arp_receive()
215 net_get_arp_handler()((uchar *)arp, 0, reply_ip_addr, in arp_receive()
221 &arp->ar_sha, ARP_HLEN); in arp_receive()
232 ntohs(arp->ar_op)); in arp_receive()