Debugging an ARP issue (no resp to ARP requests)

Mandeep Sandhu 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
...
$
ifconfig eth5
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)

cat /proc/sys/net/ipv4/conf/all/rp_filter
0
cat /proc/sys/net/ipv4/conf/all/arp_filter
1
cat /proc/sys/net/ipv4/conf/eth4/rp_filter
0
cat /proc/sys/net/ipv4/conf/eth4/arp_filter
1
cat /proc/sys/net/ipv4/conf/eth5/rp_filter
0
cat /proc/sys/net/ipv4/conf/eth5/arp_filter
1

Even with these settings, ARP for 192.168.1.2, via eth4 (192.168.1.1)
interface fails.




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.
>
> Thanks!
>
>>
>> Jeff Haran
>>



More information about the Kernelnewbies mailing list