|
@@ -1803,7 +1803,7 @@ static struct inet6_dev *addrconf_add_dev(struct net_device *dev)
|
|
|
return idev;
|
|
|
}
|
|
|
|
|
|
-void addrconf_prefix_rcv(struct net_device *dev, u8 *opt, int len)
|
|
|
+void addrconf_prefix_rcv(struct net_device *dev, u8 *opt, int len, bool sllao)
|
|
|
{
|
|
|
struct prefix_info *pinfo;
|
|
|
__u32 valid_lft;
|
|
@@ -1934,7 +1934,7 @@ ok:
|
|
|
|
|
|
#ifdef CONFIG_IPV6_OPTIMISTIC_DAD
|
|
|
if (in6_dev->cnf.optimistic_dad &&
|
|
|
- !net->ipv6.devconf_all->forwarding)
|
|
|
+ !net->ipv6.devconf_all->forwarding && sllao)
|
|
|
addr_flags = IFA_F_OPTIMISTIC;
|
|
|
#endif
|
|
|
|