Subject: Re: LL32 Multihoming

From: Stuart Cheshire <[email-masked]>
Date: Wed, 30 Jul 2003 18:28:11 -0700

The document says:
>The simplest solution to this problem is to run the algorithm 
>independently on each interface.

I wrote that I thought this text was overly simplistic. What precisely 
does "independently" mean? If the algorithm is run independently on each 
interface, does that mean it needs to be aware of the other interfaces, 
or not?

I think the text is unclear.

By way of clarification, Robert Elz wrote:
>No-one wants independence, all that is wanted is that
>the algorithm be run independently.

I think that was the point I was making.

Stuart Cheshire <[email-masked]>
 * Wizard Without Portfolio, Apple Computer, Inc.
 * www.stuartcheshire.org

---

From: "Philip Nye" <[email-masked]>
Date: Thu, 31 Jul 2003 10:13:18 +0100

> From: "Stuart Cheshire" <[email-masked]>
>

The only difference between two interfaces on the same host and two
interfaces on different hosts is that in the former case communication MAY
take place internally rather than taking network bandwidth. The algorithm
need only be aware of other interfaces insofar as it may make life difficult
for a host if it has the same LL address on multiple interfaces. In this
case, it is probably a good idea to avoid picking an address which is
already selected for another interface.

If the two interfaces happen to be on the same network then the algorithm
MUST ensure that they get different addresses.

How about adding the following two paragraphs at the end of section 3.4.

"In particular ARP packets which appear to claim an address which is
assigned to a specific interface, indicate conflict only if they are
received on that interface and their hardware address is of some other
interface."

"If a host has two interfaces on the same network, then claiming and
defending on those interfaces must ensure that they end up with different
addresses just as if they were on different hosts."

Philip

---

From: Robert Elz <[email-masked]>
Date: Thu, 31 Jul 2003 21:04:14 +0700

Date:        Wed, 30 Jul 2003 18:28:11 -0700
    From:        Stuart Cheshire <[email-masked]>
    Message-ID:  <[email-masked]>

  | I wrote that I thought this text was overly simplistic. What precisely 
  | does "independently" mean? If the algorithm is run independently on each 
  | interface, does that mean it needs to be aware of the other interfaces, 
  | or not?

It doesn't say anything about that at all.   Or that sentence you
quoted doesn't.   If "run the algorithm" (on any one interface)
requires that the existence of other interfaces be known, then
when the algorithm is run independently on multiple interfaces,
each execution will require knowledge of other interfaces.
On the other hand, if running the algorithm on one interface doesn't
require any knowledge at all of any other interfaces, then running
it independently on two interfaces won't (in either case) require any
knowledge of other interfaces.

  | I think the text is unclear.

I don't - I think the text here is abundantly clear.

I have no objection to the text Philip Nye suggested adding, but I
suspect that it doesn't really answer your objection (adding it wouldn't
help).

I suspect that you just cannot see the difference between independent
algorithms, and independent interfaces, and I really have no idea how to
fix that.   If you have some specific text in mind, please suggest it.

kre