Subject: Re: [dna] Review of draft-ietf-dna-simple-11

From: Erik Nordmark <[email-masked]>
Date: Mon, 07 Dec 2009 06:13:50 -0800

Bernard Aboba wrote:
> Ted Lemon said:
> 
> "More, from section 4.3:
> 
>   It SHOULD also set all Neighbor
>   Cache entries for the routers on its Default Router List to STALE.
>   This is done to speed up the acquisition of a new default router when
>   link change has occurred.
> 
> It's my impression that by default, a stale routing table entry won't
> be used, so if an application writes to an open tcp connection while
> the routing table entry is stale, it will get an EHOSTUNREACH, and the
> connection will be dropped.  I have had this exact experience with
> IPv4 DNA implementations when my WiFi router signal is flaky.  This is
> much worse than taking a long time (500ms isn't really that long) to
> identify a new link.
> 
> This would also be a problem in the case where you are on a WiFi
> network with more than one device advertising the same SSID - when you
> switch to a new beacon, arguably this is a DNA event, but it would clearly
> be a mistake to break existing connections in this case.
> 
> [BA] I agree that the paragraph cited does not make sense.  RFC 4436 does
> not contain equivalent advice.  In general, Simple DNAv6 should seek to 
> minimize connectivity disruption. 

Perhaps the reference to "STALE" is not clear above?
STALE refers to a state in RFC 4861 which implies that the host would 
trigger NUD sooner rather than later. If it isn't set to STALE then it 
might take up to 30 seconds more to detect that a router has gone dead. 
Thus a neighbor cache entry of STALE doesn't have anything to do with a 
routing table entry (unless the implementation is broken.)

    Erik

---

From: "Bernard Aboba" <[email-masked]>
Date: Mon, 7 Dec 2009 08:35:27 -0800

Erik said: 

"Perhaps the reference to "STALE" is not clear above?
STALE refers to a state in RFC 4861 which implies that the host would 
trigger NUD sooner rather than later. If it isn't set to STALE then it 
might take up to 30 seconds more to detect that a router has gone dead. 
Thus a neighbor cache entry of STALE doesn't have anything to do with a 
routing table entry (unless the implementation is broken.)"

Since simple DNA involves sending out NS and RS packets, if the host
has a valid address on the network corresponding to the STALE entry,
it will effectively complete NUD as part of DNA.  Also, by sending
out the RS it will discover whether the router whose entry has 
been marked STALE is actually there or not.  

Given this, why would a host take 30 seconds to detect that a router
has gone dead?  Simple DNA should have completed (with a new default
router entry) long before that.

---

From: Erik Nordmark <[email-masked]>
Date: Tue, 08 Dec 2009 05:52:25 -0800

> router entry) long before that.   

I was merely responding to Ted's concern, which is unrelated to the use 
of STALE state.
You are asking a different question about the utility of STALE.

I have no go over the whole document more carefully, but AFAICT when the 
host has moved to a new link it needs to make sure old neighbor cache 
entries don't get in the way. That isn't specified in section 4.8. 
Marking the NCEs as STALE definitely help with that for the same that 
the same link-local addresses are in use on the old and new links.

    Erik

---

From: "Laganier, Julien" <[email-masked]>
Date: Tue, 8 Dec 2009 09:01:10 -0800

Erik Nordmark wrote:
> > trigger NUD sooner rather than later. If it isn't set to STALE then
> > it might take up to 30 seconds more to detect that a router has gone
> > dead. Thus a neighbor cache entry of STALE doesn't have anything to 
> > do with a routing table entry (unless the implementation is broken.)"
> >
> I have no go over the whole document more carefully, but AFAICT when
> the host has moved to a new link it needs to make sure old neighbor cache

IIRC marking old NCEs as STALE takes care of a case where the routers on the old and new link have the same link-local address. By marking the old NCE as STALE, one make sure that the new NCE in REACHABLE state will be preferred over the old one (the new NCE is in REACHABLE state as a result of receiving a solicited RA, or completing NUD with the router.) 

--julien