Hi,
Linux is showing a strange behavior for arp requests with 2 Ethernet interfaces
on the same subnet. It generates two answers (one of them incorrect) for the
same arp request. Below is the trace from tcpdump:
16:23:08.822059 0:50:4:9e:e2:1 Broadcast arp 42: arp who-has nets1a tell twill
16:23:08.822234 0:90:27:b6:7b:e3 0:50:4:9e:e2:1 arp 60: arp reply nets1a is-at
0:90:27:b6:7b:e3
16:23:08.822251 0:90:27:af:56:7e 0:50:4:9e:e2:1 arp 60: arp reply nets1a is-at
0:90:27:af:56:7e
0:90:27:b6:7b:e3 is the interface for nets1a. 0:90:27:af:56:7e has a different
host name and IP address. Both network interfaces are on the same subnet.
Depending on which answer is received first, the wrong network interface will
be used.
I have tried Kernel version 2.2.12 and 2.3.19, both show this behavior.
System config:
- Redhat 6.0 with Kernel as above (for Intel x86)
- 2x EEpro100 PCI network cards (using the eepro100 module)
I suspect there is a check missing in linux/net/ipv4/arp.c around line 650.
I have tried the arp request on NT4 and HP/UX; both are generating one reply on
the correct interface (and my interpretation of the ARP RFC is that the Linux
behavior is not correct).
Tilo
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]