Subject: Re: question about socket with link local addr

From: "Jim Busse" <[email-masked]>
Date: Tue, 5 Aug 2003 09:28:18 -0700

Christian:

I'm very glad you agree with me.

This connectivity can't be achieved in currently available sockets
applications, as they have no concept of where and how to put a routing
entry in place.

And, as I said, that in the discussion, it was decided that we don't need to
care about currently shipping applications and/or stacks that may not
support this application of interconnectivity.

Best Regards

Jim Busse

----- Original Message -----
From: "Christian Huitema" <[email-masked]>
To: "Jim Busse" <[email-masked]>; "Philip Nye" <[email-masked]>;
<[email-masked]>
Sent: Thursday, July 31, 2003 6:30 PM
Subject: RE: question about socket with link local addr

> I think it's not a stack issue at all, it's a sockets issue.  A
generic
> sockets issue, not a "Mac-only" sockets issue.  And, I think all
sockets
> apps will fail this interconnectivity as a result.

We discussed that before, you should go read the archives. Having
several subnets on the same link is fairly common, and all network stack
allow you to handle it. You just have to add a routing entry for the
subnet 169.244.0.0/16.

-- Christian Huitema

---

From: "Christian Huitema" <[email-masked]>
Date: Wed, 6 Aug 2003 12:46:34 -0700

I don't actually agree with you. This is not a "socket application" issue, but rather a stack configuration issues. Most of the stack I know off can be trivially configure to treat the IPv4LL prefix as local to one of their interfaces. 

________________________________

From: Jim Busse [mailto:[email-masked]]
Sent: Tue 8/5/2003 9:28 AM
To: Christian Huitema; Philip Nye; [email-masked]
Subject: Re: question about socket with link local addr

Christian:

Best Regards

Jim Busse

----- Original Message -----
From: "Christian Huitema" <[email-masked]>
To: "Jim Busse" <[email-masked]>; "Philip Nye" <[email-masked]>;
<[email-masked]>

generic
sockets

-- Christian Huitema

---

From: Stuart Cheshire <[email-masked]>
Date: Sun, 31 Aug 2003 14:47:34 -0700

>A stack which conforms to the current spec will know to ARP for the LL
>destination and send the packet directly to the destination even if the
>source has a routable address. If there is no response to the ARP the
>packet will be discarded.
>
>However, since this is a draft spec which has been changing recently, it is
>very likely that mainstream stacks such as Mac, Windows or Linux will not
>conform to these rules. To find which rules they do follow, you would have
>to investigate each stack individually. I would expect to find a wide
>variety of behaviours - remember all of these operating systems have been
>through many versions and revisions of TCP/IP stack.

Mac OS 9 has done this correctly for years, as has Mac OS X.

I'm told by Alan Cox that current Linux distributions also know how to 
route to link-local. If yours doesn't, then type the following commands:

  route add -net 169.254.0.0 netmask 255.255.0.0 dev eth0 metric 99 
  route add default dev eth0 metric 99 

No version of Windows to date, AFAIK, knows how to route to link-local 
out-of-the-box, but you can fix yourself this by hand. In place of 
"put_my_address_here" put the Windows machine's own IP address.

  route add 169.254.0.0 mask 255.255.0.0 put_my_address_here

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