Debugging an ARP issue (no resp to ARP requests)
Jeff.Haran at citrix.com
Mon Jan 19 20:16:03 EST 2015
> -----Original Message-----
> From: kernelnewbies-bounces at kernelnewbies.org [mailto:kernelnewbies-bounces at kernelnewbies.org] On Behalf Of Mandeep
> Sent: Monday, January 19, 2015 4:55 PM
> To: Mike Krinkin
> Cc: kernelnewbies
> Subject: Re: Debugging an ARP issue (no resp to ARP requests)
> > Have you tried to put debug prints in arp_process function?
> Not yet. I'm using the Ubuntu 14.10 kernel. I'm lazy and don't want to
> rebuild their kernel (an config), so trying to figure out if I can
> narrow down the problem without it! :)
> >> I don't see any drops in "netstat -s" output as well.
> >> Any hints appreciated.
> > Just a random guess, but try to disable reverse path filtering (rp_filter).
> I just did actually. Unfortunately that didn't work either.
> Interestingly, I tried the same experiment with 2 "regular" ethernet
> interfaces on my machine and in that too the ARPs never resolve. This
> indicates that this looks like a config issue and IP/routing issue?
You'd mentioned earlier that your setup was this:
xeth0 - 192.168.2.1
xeth2 - 192.168.2.2
That looks to me like two network interfaces on the same subnet, though that's my guess since you don't show the prefix lengths. I'm guessing the subnet on both is 192.168.2/24.
Unless things have changed since the last time I looked into this, for IPv4 Linux implements what's referred to as the "weak" address binding model where IP addresses are considered to belong to the host not the interface. That means your host may be transmitting an ARP response, but not out the interface you expect, particularly if in fact you have the same subnet assigned to more than one interface.
You might want to tcpdump on all interfaces when you do this.
Also, you might want to include the output of the following in future posts:
ip addr show
ip route show
ip neigh show
More information about the Kernelnewbies