Re: Linux 2.2 - BSD/OS 4.1 ARP incompatibility

From: Andi Kleen (ak@suse.de)
Date: Mon Sep 04 2000 - 04:53:05 EST


On Mon, Sep 04, 2000 at 05:47:00PM +0800, Andrey Savochkin wrote:
> On Mon, Sep 04, 2000 at 11:22:31AM +0200, Andi Kleen wrote:
> > On Mon, Sep 04, 2000 at 05:06:15PM +0800, Andrey Savochkin wrote:
> > > So, I think that we have to be sure that we use the "best" address for this
> > > destination.
> > > What about an unconditional use of inet_select_addr() or fib_select_addr()
> > > based on prefsrc with inet_select_addr() fallback?
> >
> > It looks fine in theory, but I'm sure it'll break with some anal ARP filters.
> > (so at least for 2.2 we probably would need to sysctl it, or teach lots
> > of users about prefsrc)
>
> When it comes to "hidden" interfaces, I don't expect problems because this
> change makes them even more "hidden".

I'm not thinking about hidden addresses. Just there are boxes and switches
with ARP filters that may expect certain source addresses in the ARP, and
changing it may break it (and others break in the current way, sigh)

>
> > I guess Alexey would hate your implementation because it adds a
> > unnecessary fib_lookup() in a reasonable fast path, it would probably be
> > better to cache it in the dst entry and pass it in.
>
> That's a good argument against.
> Let's wait for the actual Alexey's complaint :-)
> I would place the cached source into neighbor structure, if it matters.

You have no link to prefsrc from the neighbour, so you would need to cache
it in addition in the dst_entry. Doing it twice is probably not useful.

-Andi
-
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/



This archive was generated by hypermail 2b29 : Thu Sep 07 2000 - 21:00:17 EST