This does seem like a bug. It's interesting that it works on FreeBSD, since much of the code has shared heritage. The basic approach to arp is to have a cloning route ("C" flag) which causes arp procesing for addresses within the prefix but for which there isn't an llinfo (L) entry. route add -host 18.104.22.168 -link -iface vioif0 Why are you giving "-link", with no mac address? That seems wrong, and it seems like a bug in route not to throw an error. The trick is to have a routing table entry that will provoke arp. What command do you run on FreeBSD, and what does the routing table look like? I suggest running 'route -n monitor' while doing all of this, to watch the routing socket.
Description: PGP signature