From mboxrd@z Thu Jan 1 00:00:00 1970 From: bjorn@mork.no (=?utf-8?Q?Bj=C3=B8rn_Mork?=) Date: Tue, 20 Jan 2015 09:43:32 +0100 Subject: Debugging an ARP issue (no resp to ARP requests) In-Reply-To: (Mandeep Sandhu's message of "Mon, 19 Jan 2015 15:42:58 -0800") References: Message-ID: <87d269u9jf.fsf@nemi.mork.no> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org Mandeep Sandhu writes: > Hi All, > > Please let me know if this is not the correct ML for such a question > (or if there's a more appropriate list for it). > > I'm currently debugging an issue where Linux is not responding to ARP > requests (testing with custom network interface h/w). > > I have 2 network interfaces which are basically interfaces on a custom > network device sitting on the PCI bus. > > My setup looks like follows: > > xeth0 - 192.168.2.1 > xeth2 - 192.168.2.2 > > xeth0/2 are the interfaces created for the custom device (via a lkm) > > Both these interfaces are on the local machine and are connected > back-to-back on the custom device, so packets sent from one arrive on > the other. This won't work. Linux will consider both addresses as local to the host and will never respond to arp requests from any of those addresses. See http://en.wikipedia.org/wiki/Host_model You might be able to change this by tuning arp_announce/arp_ignore - But I don't know if that changes the behaviour wrt responses to local addresses... See https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt for the meaning of these knobs. If your main interest is to test how Linux (or your driver/hardware) responds to ARPs, then it's definitely easiest/best to use two Linux hosts. This might of course be two virtual hosts running on the same hardware if you have hardware restrictions. Bj?rn