Debugging an ARP issue (no resp to ARP requests)

Mandeep Sandhu mandeepsandhu.chd at gmail.com
Tue Jan 20 16:36:37 EST 2015


arp_filter=0 is the default, so I'm sure I've tested it with this
setting. I think I've tested with arp_ignore=0 too, although with
trying so many different combinations, I might've missed it out. I'll
keep this in mind when testing next.

Thanks.

On Mon, Jan 19, 2015 at 10:14 PM, Dave Tian <dave.jing.tian at gmail.com> wrote:
> What about arp_filter=0 && arp_ignore=0?
>
> -daveti
>> On Jan 19, 2015, at 9:14 PM, Mandeep Sandhu <mandeepsandhu.chd at gmail.com> wrote:
>>
>> 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
>>>>
>>
>> _______________________________________________
>> Kernelnewbies mailing list
>> Kernelnewbies at kernelnewbies.org
>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>



More information about the Kernelnewbies mailing list