Lines Matching refs:ea
68 struct ether_arp *ea; in libvarpd_plugin_proxy_arp() local
111 ea = (void *)((uintptr_t)vaq->vaq_buf + (uintptr_t)otl->otl_hdrsize); in libvarpd_plugin_proxy_arp()
116 if (ntohs(ea->ea_hdr.ar_hrd) != ARPHRD_ETHER || in libvarpd_plugin_proxy_arp()
117 ntohs(ea->ea_hdr.ar_pro) != ETHERTYPE_IP || in libvarpd_plugin_proxy_arp()
118 ea->ea_hdr.ar_hln != ETHERADDRL || in libvarpd_plugin_proxy_arp()
119 ea->ea_hdr.ar_pln != sizeof (ea->arp_spa) || in libvarpd_plugin_proxy_arp()
120 ntohs(ea->ea_hdr.ar_op) != ARPOP_REQUEST) { in libvarpd_plugin_proxy_arp()
131 if (bcmp(ea->arp_spa, ea->arp_tpa, sizeof (ea->arp_spa)) == 0) { in libvarpd_plugin_proxy_arp()
140 bcopy(ea->arp_tpa, &ip->sin_addr, sizeof (ea->arp_tpa)); in libvarpd_plugin_proxy_arp()
144 vaq->vaq_ea = ea; in libvarpd_plugin_proxy_arp()
615 struct ether_arp *ea; in libvarpd_inject_arp() local
636 ea = (struct ether_arp *)(buf + bsize); in libvarpd_inject_arp()
638 ea->ea_hdr.ar_hrd = htons(ARPHRD_ETHER); in libvarpd_inject_arp()
639 ea->ea_hdr.ar_pro = htons(ETHERTYPE_IP); in libvarpd_inject_arp()
640 ea->ea_hdr.ar_hln = ETHERADDRL; in libvarpd_inject_arp()
641 ea->ea_hdr.ar_pln = sizeof (struct in_addr); in libvarpd_inject_arp()
642 ea->ea_hdr.ar_op = htons(ARPOP_REQUEST); in libvarpd_inject_arp()
643 bcopy(srcmac, ea->arp_sha, ETHERADDRL); in libvarpd_inject_arp()
644 bcopy(srcip, ea->arp_spa, sizeof (struct in_addr)); in libvarpd_inject_arp()
645 bcopy(libvarpd_arp_bcast, ea->arp_tha, ETHERADDRL); in libvarpd_inject_arp()
646 bcopy(srcip, ea->arp_tpa, sizeof (struct in_addr)); in libvarpd_inject_arp()