Debugging an ARP issue (no resp to ARP requests)
mandeepsandhu.chd at gmail.com
Mon Jan 19 21:14:22 EST 2015
Here's how my current setup looks like:
$ ifconfig eth4
eth4 Link encap:Ethernet HWaddr 74:fe:48:04:e7:eb
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
eth5 Link encap:Ethernet HWaddr 74:fe:48:04:e7:e6
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
$ ip route show
default via 192.168.1.2 dev eth4
192.168.1.0/24 dev eth4 proto kernel scope link src 192.168.1.1
192.168.1.0/24 dev eth5 proto kernel scope link src 192.168.1.2
I've deliberately added a default gateway to 192.168.1.2 (so that the
ARP response is routed back through it).
$ip neigh show
(there's no neighbor entries)
Even with these settings, ARP for 192.168.1.2, via eth4 (192.168.1.1)
On Mon, Jan 19, 2015 at 5:31 PM, Mandeep Sandhu
<mandeepsandhu.chd at gmail.com> wrote:
>> 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.
> Correct. Netmask is /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.
> I actually did that (after some googling) but there's no ARP response
> being transmitted out of either of the interfaces. As I mentioned
> before, this problem happens even with regular ethernet interfaces and
> not specifically with my custom hardware related ones, so looks like a
> routing (mis)configuration issue.
>> Also, you might want to include the output of the following in future posts:
>> ip addr show
>> ip route show
>> ip neigh show
> I'll now test with 2 "regular" ethernet interfaces on my test machine
> (eth0,eth1) and send the o/p of these commands.
>> Jeff Haran
More information about the Kernelnewbies