Messages in this thread |  | | Subject | Re: Linux 2.2 - BSD/OS 4.1 ARP incompatibility | Date | Sat, 02 Sep 2000 22:49:28 +1100 | From | David Luyer <> |
| |
Andi Kleen wrote: > > According to the standards, who is in the wrong? To me it looks like Linux > > is the misbehaved OS in this case. > > Strictly it is your routing which is wrong, because you're giving different > routing information to BSDI and Linux.
Thanks for the workaround. Unfortunately I'm not currently in the same state as the systems with this problem so I haven't yet put a kernel which will support the tools required to test the workaround on the network in question.
I see that the routing tables may be the core of the problem but it looks like the problem can so simply be solved by choosing the local IP address in the subnet which you are sending the ARP request to, and this should never break anything, it only doesn't fix the case where a machine has a direct route to a network it doesn't have an interface in.
Covering the situation again:
network 10.0.0.0/24 in transition to 192.168.0.0/24 new machines only in 192.168.0.0/24 machine 10.0.0.1 == 192.168.0.1, Linux wants to talk to new machine 192.168.0.2, BSD/OS if eth0 = 10.0.0.1 and eth0:0 = 192.168.0.1 it sends "hi I'm 10.0.0.1 looking for 192.168.0.2" which 192.168.0.2 completely ignores (either not knowing where to send the response, or not recognising the packet as destined for itself)
Now Alan's suggestion was to "fix the routing table", ie, to add a route for 10.0.0.0/24 as a direct route on the 192.168.0.2 interface.
After doing this, the BSD/OS system still ignored the ARP requests! It didn't even help to add a secondary IP of 10.0.0.2.
If the machine would say "hi I'm 192.168.0.1 looking for 192.168.0.2" (choosing the source IP for the arp request by the IP it is searching for) then it would just work.
For comparison, both Cisco routers and BSD/OS work this way, they choose which IP to put in an ARP request based on what IP address they are looking for. Linux is the odd one out in that it always chooses the primary interface IP to put in the ARP request on a given interface.
David. -- ---------------------------------------------- David Luyer Senior Network Engineer Pacific Internet (Aust) Pty Ltd Phone: +61 3 9674 7525 Fax: +61 3 9699 8693 Mobile: +61 4 1064 2258, +61 4 1114 2258 http://www.pacific.net.au NASDAQ: PCNTF << fast 'n easy >> ----------------------------------------------
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |