ipv6: use ipv6_addr_any() helper
authorCong Wang <xiyou.wangcong@gmail.com>
Wed, 22 May 2013 05:41:06 +0000 (05:41 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 23 May 2013 08:17:47 +0000 (01:17 -0700)
ipv6_addr_any() is a faster way to determine if an addr
is ipv6 any addr, no need to compute the addr type.

Cc: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Acked-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/addrconf.c

index d684d23bc027f1ebd2574206afa28add3c7f2d27..e05269647c2bdcdbd7fd46da1c067564c7fa1c7d 100644 (file)
@@ -3846,7 +3846,7 @@ static int inet6_fill_ifaddr(struct sk_buff *skb, struct inet6_ifaddr *ifa,
                valid = INFINITY_LIFE_TIME;
        }
 
-       if (ipv6_addr_type(&ifa->peer_addr) != IPV6_ADDR_ANY) {
+       if (!ipv6_addr_any(&ifa->peer_addr)) {
                if (nla_put(skb, IFA_LOCAL, 16, &ifa->addr) < 0 ||
                    nla_put(skb, IFA_ADDRESS, 16, &ifa->peer_addr) < 0)
                        goto error;
@@ -4579,7 +4579,7 @@ static void __ipv6_ifa_notify(int event, struct inet6_ifaddr *ifp)
                        ip6_ins_rt(ifp->rt);
                if (ifp->idev->cnf.forwarding)
                        addrconf_join_anycast(ifp);
-               if (ipv6_addr_type(&ifp->peer_addr) != IPV6_ADDR_ANY)
+               if (!ipv6_addr_any(&ifp->peer_addr))
                        addrconf_prefix_route(&ifp->peer_addr, 128,
                                              ifp->idev->dev, 0, 0);
                break;
@@ -4587,7 +4587,7 @@ static void __ipv6_ifa_notify(int event, struct inet6_ifaddr *ifp)
                if (ifp->idev->cnf.forwarding)
                        addrconf_leave_anycast(ifp);
                addrconf_leave_solict(ifp->idev, &ifp->addr);
-               if (ipv6_addr_type(&ifp->peer_addr) != IPV6_ADDR_ANY) {
+               if (!ipv6_addr_any(&ifp->peer_addr)) {
                        struct rt6_info *rt;
                        struct net_device *dev = ifp->idev->dev;