|
@@ -1022,7 +1022,10 @@ ipv6_add_addr(struct inet6_dev *idev, const struct in6_addr *addr,
|
|
|
INIT_HLIST_NODE(&ifa->addr_lst);
|
|
|
ifa->scope = scope;
|
|
|
ifa->prefix_len = pfxlen;
|
|
|
- ifa->flags = flags | IFA_F_TENTATIVE;
|
|
|
+ ifa->flags = flags;
|
|
|
+ /* No need to add the TENTATIVE flag for addresses with NODAD */
|
|
|
+ if (!(flags & IFA_F_NODAD))
|
|
|
+ ifa->flags |= IFA_F_TENTATIVE;
|
|
|
ifa->valid_lft = valid_lft;
|
|
|
ifa->prefered_lft = prefered_lft;
|
|
|
ifa->cstamp = ifa->tstamp = jiffies;
|