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 discussionquoted
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