Thread (47 messages) 47 messages, 7 authors, 2007-02-05

Re: [PATCH] IPv6: Implement RFC 4429 Optimistic Duplicate Address Detection

From: Neil Horman <nhorman@tuxdriver.com>
Date: 2007-01-26 21:37:42

On Fri, Jan 26, 2007 at 03:28:40PM -0500, Vlad Yasevich wrote:
Hi Neil

Neil Horman wrote:
quoted
On Fri, Jan 26, 2007 at 09:13:31AM +0900, YOSHIFUJI Hideaki / 吉藤英明 wrote:
quoted
In article [ref] (at Thu, 25 Jan 2007 14:45:00 -0500), Neil Horman [off-list ref] says:

New patch attached with most of your suggestions incorporated.  I've a few
comments mixed in for some of the suggestions that I think need further
discussion
quoted
If optimistic_dad is disabled, flags should be IFA_F_TEMPORARY,
not IFA_F_TEMPORARY|IFA_F_OPTIMISTIC.

Another idea is to use IFA_F_OPTIMISTIC not
IFA_F_OPTIMISTIC|IFA_F_TENTATIVE until the DAD has been finished.
I'm currently setting the OPTIMISTIC flag in every location that its possibly
needed, and then clearing it in addrconf_dad_start if that interface is not
participating in optimistic dad.  I do this because the RFC in section 3.1
indicates that manually configured addresses should not set the optimistic flag.
If I removed the OPTIMISTIC flag from the locations it gets set in the patch and
then only set it for participating interfaces in addrconf_dad_start, I would
need to have some way to tell if the address in question was manually configured
(to avoid setting it in that case).  At present I see no clear way to do that,
but if you have a suggestion, I'll happily change this around.
One suggestiong/question:

Instead of clearing the OPTIMISTIC flag in addrconf_dad_start(), wouldn't it be better
to simply not set the flag in ipv6_add_addr()?  Just mask that flag from the 'flags'
argument passed to that function when conditions are right.
Doh!  Sometimes I don't just think straight.  Yes, as long as ipv6_add_addr is
only for adding static addresses (which it pretty clearly is), that would work
much better.  I'll fix it up and repost on monday.

Don't suppose you have any thoughts on how to solve the "send to default router"
problem, do you?

Regards
Neil
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help