diff options
author | Amit Pundir <amit.pundir@linaro.org> | 2015-01-12 11:43:21 +0530 |
---|---|---|
committer | Amit Pundir <amit.pundir@linaro.org> | 2015-01-12 11:43:21 +0530 |
commit | 43e6989f92b421c7e234ffd1e0b590e014ce24f2 (patch) | |
tree | 7e62a7a27835d4615b561dc99cdfe3b3a72e3d94 /net/ipv6/addrconf.c | |
parent | 54d6df91aea686c8c46095256d8c27d3db26c4e8 (diff) | |
parent | 49536e1f387afc5b42f447d382c3ea3fe4817520 (diff) |
Merge branch 'upstream/android-3.10' into linaro-android-3.10-lsk
Diffstat (limited to 'net/ipv6/addrconf.c')
-rw-r--r-- | net/ipv6/addrconf.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index e1381119a6d8..165cee964e75 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -1525,7 +1525,9 @@ int ipv6_chk_addr(struct net *net, const struct in6_addr *addr, if (!net_eq(dev_net(ifp->idev->dev), net)) continue; if (ipv6_addr_equal(&ifp->addr, addr) && - !(ifp->flags&IFA_F_TENTATIVE) && + (!(ifp->flags&IFA_F_TENTATIVE) || + (ipv6_use_optimistic_addr(ifp->idev) && + ifp->flags&IFA_F_OPTIMISTIC)) && (dev == NULL || ifp->idev->dev == dev || !(ifp->scope&(IFA_LINK|IFA_HOST) || strict))) { rcu_read_unlock_bh(); |