Re: ARP (mis)behavior

Richard B. Johnson (root@chaos.analogic.com)
Fri, 20 Aug 1999 17:12:30 -0400 (EDT)


On Fri, 20 Aug 1999, Chris Leech wrote:

> I'm doing some work with network drivers, and have run across some strange
> ARP behavior in testing that seems to stem from the IPv4 stack. ARP replies
> seem to ignore any mapping between devices and IP addresses, so that as long
> as an IP is assigned to one interface all the interfaces on a given machine
> will respond to the ARP request.
>
> As a simple example, if a server has two Ethernet cards connected to the
> same network configured as 10.0.0.1 and 10.0.0.2. From a client machine,
> say 10.0.0.3, pinging both server addresses seems to work, but looking at
> the ARP cache reveals that often one interface has responded to both ARP
> requests. More interesting, if one interface is brought down the other will
> continue to respond to ARP requests and any other network traffic for the
> downed adapters IP address.
>
> In a situation where multiple adapters are on the same network segment, the
> Linux IPv4 stack behaves as if a many-to-many mapping of a pool of IP
> addresses onto a pool of network adapters exists.
>
> While this does provide some basic fail-over capabilities, I can't imagine
> that this is expected or desired behavior. If this is the intended
> behavior, I'd be interested in hearing why ARP was implemented this way. If
> not, I may have time to try and change this and submit a patch.
>

Err.. Do you, per chance, have both network cards running on the same
network, with the same network address, and a netmask which will allow
them to listen to the same ARP requests? If so, how could they do
anything different than you describe?

Cheers,
Dick Johnson
**** FILE SYSTEM WAS MODIFIED ****
Penguin : Linux version 2.3.13 on an i686 machine (400.59 BogoMips).
Warning : It's hard to remain at the trailing edge of technology.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/