mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-04-26 08:13:56 +00:00
[IPV6]: Don't dump temporary addresses twice
Each IPv6 Temporary Address (w/ CONFIG_IPV6_PRIVACY) is dumped twice to netlink. Because temporary addresses are listed in idev->addr_list, there's no need to dump idev->tempaddr separately. Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8a47077a0b
commit
ae9cda5d65
1 changed files with 1 additions and 14 deletions
|
@ -2777,7 +2777,7 @@ static int inet6_dump_addr(struct sk_buff *skb, struct netlink_callback *cb,
|
||||||
read_lock_bh(&idev->lock);
|
read_lock_bh(&idev->lock);
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case UNICAST_ADDR:
|
case UNICAST_ADDR:
|
||||||
/* unicast address */
|
/* unicast address incl. temp addr */
|
||||||
for (ifa = idev->addr_list; ifa;
|
for (ifa = idev->addr_list; ifa;
|
||||||
ifa = ifa->if_next, ip_idx++) {
|
ifa = ifa->if_next, ip_idx++) {
|
||||||
if (ip_idx < s_ip_idx)
|
if (ip_idx < s_ip_idx)
|
||||||
|
@ -2788,19 +2788,6 @@ static int inet6_dump_addr(struct sk_buff *skb, struct netlink_callback *cb,
|
||||||
NLM_F_MULTI)) <= 0)
|
NLM_F_MULTI)) <= 0)
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
/* temp addr */
|
|
||||||
#ifdef CONFIG_IPV6_PRIVACY
|
|
||||||
for (ifa = idev->tempaddr_list; ifa;
|
|
||||||
ifa = ifa->tmp_next, ip_idx++) {
|
|
||||||
if (ip_idx < s_ip_idx)
|
|
||||||
continue;
|
|
||||||
if ((err = inet6_fill_ifaddr(skb, ifa,
|
|
||||||
NETLINK_CB(cb->skb).pid,
|
|
||||||
cb->nlh->nlmsg_seq, RTM_NEWADDR,
|
|
||||||
NLM_F_MULTI)) <= 0)
|
|
||||||
goto done;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
case MULTICAST_ADDR:
|
case MULTICAST_ADDR:
|
||||||
/* multicast address */
|
/* multicast address */
|
||||||
|
|
Loading…
Add table
Reference in a new issue