Kacheong Poon wrote:
As part of the NWAM project, we are investigating the support
of IPv4 LLA in Solaris. One big issue with IPv4 LLA support
is the multi-homing nature of most Solaris machine. In fact,
RFC 3927 is not clear exactly how LLA works in this case.
I thought RFC 3927 was clear - clear in saying that it does *not* work
on a multihomed machine.
(I was one of the Internet ADs at the time this RFC was being worked on
and I remember some of the discussions about this...)
The
problem is simple, LLA is not unique. And if a system has
multiple IP interfaces all using LLAs and an app wants to talk
to a peer with a LLA, on which interface should the system
"find" the peer? And what happens if there is a host using
that LLA in each links of those interfaces? Note that unlike
IPv6 apps, most IPv4 apps do not really care about which
interface is being used for communication, as it should not
matter mostly (LLA is a "new" concept).
The only way one could make something sane work is to do explicit link
identification just like for IPv6 link local address. Thus you'd need at
least a sin6_scope_id type field in the sockaddr, and a way to get the
information into the sockaddr. The latter could consist of a tie-in with
MDNS - if MDNS found the name->address mapping on interface X, then pass
X as the scope id in the sockaddr. But one might also need some explicit
syntax that getaddrinfo() can parse for [EMAIL PROTECTED] (something
like that is defined for IPv6).
Here are some questions.
1. Is LLA support essential to Solaris networking that we need
to include it and make it work?
What problem are we trying to solve?
Two laptops building a network between each other on the airplane?
(It might be that WiFi will be available in airplanes before we build
that solution.)
Some other use case?
FWIW Barnard Aboba looked at how LLA was used with Windows and found
that in the vast majority of cases when it was enable it shouldn't have
been enabled (it was enabled because the network was flaky and/or the
DHCP server was slow.)
2. If we really need to support it, is it OK for it to "work
in some cases but not all?" The RFC does not have a solution
to make it work with multiple interfaces.
What user experience to be want to provide with LLA as one of the tools?
Make things easier to use? Introduce new hard-to-debug failure cases?
How does Bonjour/LLA work on a multihomed apple box?
3. Is it OK to have certain limitations, such as only supporting
LLA in one interface? Or not support the communication
between LLA and routable address? Or ... This is to allow
us to have a more "consistent" failure mode.
Again, what would the user experience be with such an approach? Would
the user have to designate the "lla interface" when the machine has more
than one? Or would lla be disabled when the second interface comes up?
If lla is helpful then disabling it seems counterproductive.
Erik
_______________________________________________
networking-discuss mailing list
[email protected]