[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <45C3CFF1.3040600@hp.com>
Date: Fri, 02 Feb 2007 18:57:37 -0500
From: Brian Haley <brian.haley@...com>
To: Vlad Yasevich <vladislav.yasevich@...com>
Cc: Neil Horman <nhorman@...driver.com>,
YOSHIFUJI Hideaki / ???? <yoshfuji@...ux-ipv6.org>,
sri@...ibm.com, davem@...emloft.net, kuznet@....inr.ac.ru,
pekkas@...core.fi, jmorris@...ei.org, kaber@...eworks.de,
netdev@...r.kernel.org
Subject: Re: [PATCH] IPv6: Implement RFC 4429 Optimistic Duplicate Address
Detection
Hi Vlad,
Vlad Yasevich wrote:
> Brian Haley wrote:
>> Hi Neil,
>>
>>> @@ -830,7 +836,8 @@ retry:
>>> ift = !max_addresses ||
>>> ipv6_count_addresses(idev) < max_addresses ?
>>> ipv6_add_addr(idev, &addr, tmp_plen,
>>> - ipv6_addr_type(&addr)&IPV6_ADDR_SCOPE_MASK,
>>> IFA_F_TEMPORARY) : NULL;
>>> + ipv6_addr_type(&addr)&IPV6_ADDR_SCOPE_MASK,
>>> + IFA_F_TEMPORARY|IFA_F_OPTIMISTIC) : NULL;
>
> Hi Brian
>
>> So why are you always adding these as optimistic now? Shouldn't this be
>> triggering off idev->cnf.optimistic_dad? I know you're clearing it in
>> ipv6_add_addr(), but I liked Vlad's suggestion of not setting it
>> initially since this way seems backwards.
>
> The troubling case seems to manually configured addresses (inet6_addr_add()).
> If we can clearly and easily distinguish between this case of address
> and all the other ones, then we can simply set the flag in ipv6_add_addr, like
> we set the tentative flag.
Right, I guess maybe I'm trying to figure out what
idev->cnf.optimistic_dad means:
1. Interface supports OPTIMISTIC addresses
2. All auto-configured addresses on interface are OPTIMISTIC
3. ???
All other addresses are created w/out OPTIMISTIC set.
I think manually-configured addresses can be tagged as OPTIMISTIC just
like MIPv6 Home Addresses are if we just change this line in
inet6_rtm_newaddr():
< ifa_flags = ifm->ifa_flags & (IFA_F_NODAD | IFA_F_HOMEADDRESS);
--
> ifa_flags = ifm->ifa_flags & (IFA_F_NODAD | IFA_F_HOMEADDRESS |
IFA_F_OPTIMISTIC);
and tweak the rest of the code, but that doesn't cover the
addrconf_add_ifaddr() codepath via ioctl(SIOCSIFADDR).
I can generate a patch based-on Neil's, but it will take me until Monday
to get it out.
-Brian
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists