lkml.org 
[lkml]   [2000]   [Sep]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: Linux 2.2 - BSD/OS 4.1 ARP incompatibility
    Date
    From

    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/

    \
     
     \ /
      Last update: 2005-03-22 12:38    [W:0.023 / U:3.176 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site