Eu não sei se esse comando ainda funciona no * BSD, mas parece ter sido quebrado no linux por mais de uma década. Estes dias arp_req_set_public () é lançado para arp_req_set_proxy () , que aciona o mecanismo proxy_arp do kernel . Eu entendo que a publicação ARP foi planejada como um meio de implementar proxy ARP, depois tornada obsoleta por uma implementação mais fácil, menos propensa a acidentes e mais capaz.
É uma pena embora. A publicação ARP teria outros usos - uma maneira conveniente de lidar com pools NAT dedicados, por exemplo. Se você realmente precisa da semântica que é prometida pelo manual arp, você poderia tentar um daemon ARP userland como arpd honeynet (a.k.a. farpd) ou choparpd .