My machine has a physical network interface (eno1) and a bunch of virtual network interfaces (e.g. tap0). Each interface has its own IP and their subnets do not overlap. I noticed that if I perform an ARP request from another machine that is connected to eno1's network asking for an IP that belongs to a virtual network interface (e.g. tap0), Linux will respond the ARP request, and it will respond with the MAC address of eno1 (that is, it responds with the MAC address of the interface that received the ARP request, regardless of which interface had the IP address) Linux will only respond the ARP request if the IP belongs to one of its configured network interfaces, otherwise it ignores it. I wonder what is the reason that it does that? I would think that it would simply ignore such ARP requests, as they are targetting IPs that are not only held by different interfaces, but also outside the subnet range. Thanks!