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. So, we can introduce another parameter to ipv6_add_addr() or another flag that can distinguish manual config. Otherwise, we can keep the code as is, passing the optimistic flag from needed callers, and clearing it inside ipv6_add_addr(). My thought was to clear it from the 'flags' parameter before ifa->flags was set, but that doesn't really matter. -vlad - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html