Subject: RE: dual stack & IPv6 on by default

From: "Bound, Jim" <[email-masked]>
Date: Mon, 10 Mar 2003 19:17:36 -0500

Hi Mika,

>The question also is: what triggers the on-demand link setup? 
>Two potential cases:
>
>a) there is an on-link default route to the on-demand 
>interface -> first packet routed to the interface starts link setup
>
>b) on-demand link setup starts on no-route, according to preset policy

OK.

>
>Suppose we have a wireless terminal with two interfaces: a 
>dialup one (e.g. cellular circuit switched data) for Internet 
>connectivity [DOWN], and 802.11 for ad-hoc or cheap Internet 
>access via an access point [UP].

OK.

>
>If one takes the ND spec strictly, case a) might or might not 
>trigger dialup, depending on which default route we hit first. 
>Case b) would never trigger the dialup [although an 
>implementation might choose to do so after NUD].

OK. But NUD would mean it tells some function to configure the interface
in this case of dial up?  Right? Even dialers do this now.
But ND is working above you do not say it does not from what I can see
as question?

>
>On the other hand, as soon as the host receives the first RA 
>from the dialup interface and configures a default router, the 
>other interface stops working for ad-hoc.

Why?  From your example it sounds like two separate links and that is a
non-issue as I interpret ND.  But, lets assume it's the same air link
interface (cellular cyberspace) nothing in ND precludes the use of
multiple interfaces, just duplicate EUIs.

>
>All this just goes to show that the default on-link route 
>implied by the ND specification perhaps isn't fully thought 
>out, at least with multihoming. 

The default route is for a link.  And multiple routers are permitted to
announce routes.  So two routers can be supported on a link, with one
being the default.  Multipe interfaces can exist on one link.  So in
that sense ND is transparent to multihome node.

Now if your speaking about two different links then ND is non issue
specifically because it only addresses link attributes today.

Or are you discussing the self-healing needs for routes when two links
merge or that coordination is required for two links of close proximity
for multihome case for two or more links a node may be attached to.  

A default route in any implementation I know is implied to mean only for
a specific link not for multiple links.  The default route would be
determined by the tuple interface, address, and route entry.  IPv6
scoping would need to be part of this once that is supported too.

>Besides, such a route could 
>always be configured explicitly if the user wants to use a 
>particular interface for ad-hoc.

Yes but it will still only apply to a link.  Now if a link fails an
implementation could permit sending traffic to another link over that
links default route.

Now I suppose there could be a global default route for all links but
that has nothing to do with ND and out of scope for ND today.  

Hmmm.  I suppose an ND extension could advertize such a parameter but
the interoperability problems could be horrific.

I may have missed your point in my parser?

Thanks
/jim

---

From: Mika Liljeberg <[email-masked]>
Date: 11 Mar 2003 18:42:58 +0200

> But ND is working above you do not say it does not from what I can see

So far so good. ND itself is fine, I'm just exploring the rule:

"If the Default Router List is empty, the sender assumes that the
destination is on-link."

The above rule makes option a) unfeasible in multi-homed hosts, so
implementors have to go for option b). Not necessarily a big problem but
reduces the options available to the implementor.

> Why?

Because now the default router list (combined from all interfaces) is
not empty, so we can no longer assume that all destinations are on-link.
Applications rely on the default route to get them to the routed
network, so it does not make sense to have a default router in one
interface and an on-link default route in another. Applications can't
cope with it.

>   From your example it sounds like two separate links and that is a
> non-issue as I interpret ND.

Yes, I'm talking about separate links, but I'm sure its a non-issue.

> that sense ND is transparent to multihome node.

I understand and agree with all this. The point is: applications can't
cope with multiple default routes, unless those routes offer equivalent
connectivity. Default routers and on-link default routes just don't mix.
Normal applications can't be expected to choose which network interface
they want to use.

So what I'm trying to say is that the rule "If the Default Router List
is empty, the sender assumes that the destination is on-link" doesn't
seem to make sense in a multi-homed host. To my mind, it doesn't make
much sense in a single-homed host either. The intent would seem to be to
allow link-local communication using configured addresses in the absence
of a router. What's the point? Why not just use link-local addresses? I
suspect the answer to that is ideological rather than practical.

If the idea is to allow ad-hoc communication using configured addresses,
then logically a multi-homed host, which currently doesn't know any
default routers, would have to try to do ND on *all* its interfaces
(rather than just picking an arbitrary one), in order to resolve a given
destination address. Unfortunately this is not normal routing anymore.

> I may have missed your point in my parser?

Maybe at least partially. I hope I was more lucid this time.

	MikaL