For a device on the local network that mostly functions as a multicast receiver, the only packets a router may see from this client are IGMP membership reports. I believe that alone should be enough information to establish a neighbor cache entry for it. A client intending to unicast to the router will first ARP for the router's address, and the router will then respond to the ARP AND cache the client's address to avoid ARPing for the client's address when replying to original packet. I believe this patch functions in the same spirit of that approach. Something like this is necessary for a router managing multicast subscriptions in userspace using the ipmr API. Such a thing would need to know which interface an IGMP membership report came in on, in order to establish a vif route for it. Without a netlink message indicating a new neighbor for the subscriber's IP address, it can't be known which vif to establish the route on. Is there anything glaringly wrong with this?