]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
ipv6: bool conversions phase1
authorEric Dumazet <edumazet@google.com>
Fri, 18 May 2012 06:14:11 +0000 (08:14 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 May 2012 06:24:13 +0000 (02:24 -0400)
ipv6_opt_accepted() returns a bool, and can use const pointers

ipv6_addr_equal(), ipv6_addr_any(), ipv6_addr_loopback(),
ipv6_addr_orchid() return a bool.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/ipv6.h
net/ipv6/af_inet6.c
net/ipv6/ip6_tunnel.c

index 5f65e7c452666f9c5458f5fd5e45fc880db12d0f..1402139629e1e66d2cdd1a59a693e90c5d139cc5 100644 (file)
@@ -263,7 +263,7 @@ extern struct ipv6_txoptions *      ipv6_renew_options(struct sock *sk, struct ipv6_t
 struct ipv6_txoptions *ipv6_fixup_options(struct ipv6_txoptions *opt_space,
                                          struct ipv6_txoptions *opt);
 
-extern int ipv6_opt_accepted(struct sock *sk, struct sk_buff *skb);
+extern bool ipv6_opt_accepted(const struct sock *sk, const struct sk_buff *skb);
 
 int ip6_frag_nqueues(struct net *net);
 int ip6_frag_mem(struct net *net);
@@ -332,8 +332,8 @@ static inline void ipv6_addr_set(struct in6_addr *addr,
        addr->s6_addr32[3] = w4;
 }
 
-static inline int ipv6_addr_equal(const struct in6_addr *a1,
-                                 const struct in6_addr *a2)
+static inline bool ipv6_addr_equal(const struct in6_addr *a1,
+                                  const struct in6_addr *a2)
 {
        return ((a1->s6_addr32[0] ^ a2->s6_addr32[0]) |
                (a1->s6_addr32[1] ^ a2->s6_addr32[1]) |
@@ -341,27 +341,27 @@ static inline int ipv6_addr_equal(const struct in6_addr *a1,
                (a1->s6_addr32[3] ^ a2->s6_addr32[3])) == 0;
 }
 
-static inline int __ipv6_prefix_equal(const __be32 *a1, const __be32 *a2,
-                                     unsigned int prefixlen)
+static inline bool __ipv6_prefix_equal(const __be32 *a1, const __be32 *a2,
+                                      unsigned int prefixlen)
 {
        unsigned int pdw, pbi;
 
        /* check complete u32 in prefix */
        pdw = prefixlen >> 5;
        if (pdw && memcmp(a1, a2, pdw << 2))
-               return 0;
+               return false;
 
        /* check incomplete u32 in prefix */
        pbi = prefixlen & 0x1f;
        if (pbi && ((a1[pdw] ^ a2[pdw]) & htonl((0xffffffff) << (32 - pbi))))
-               return 0;
+               return false;
 
-       return 1;
+       return true;
 }
 
-static inline int ipv6_prefix_equal(const struct in6_addr *a1,
-                                   const struct in6_addr *a2,
-                                   unsigned int prefixlen)
+static inline bool ipv6_prefix_equal(const struct in6_addr *a1,
+                                    const struct in6_addr *a2,
+                                    unsigned int prefixlen)
 {
        return __ipv6_prefix_equal(a1->s6_addr32, a2->s6_addr32,
                                   prefixlen);
@@ -389,19 +389,19 @@ struct ip6_create_arg {
 void ip6_frag_init(struct inet_frag_queue *q, void *a);
 bool ip6_frag_match(struct inet_frag_queue *q, void *a);
 
-static inline int ipv6_addr_any(const struct in6_addr *a)
+static inline bool ipv6_addr_any(const struct in6_addr *a)
 {
        return (a->s6_addr32[0] | a->s6_addr32[1] |
                a->s6_addr32[2] | a->s6_addr32[3]) == 0;
 }
 
-static inline int ipv6_addr_loopback(const struct in6_addr *a)
+static inline bool ipv6_addr_loopback(const struct in6_addr *a)
 {
        return (a->s6_addr32[0] | a->s6_addr32[1] |
                a->s6_addr32[2] | (a->s6_addr32[3] ^ htonl(1))) == 0;
 }
 
-static inline int ipv6_addr_v4mapped(const struct in6_addr *a)
+static inline bool ipv6_addr_v4mapped(const struct in6_addr *a)
 {
        return (a->s6_addr32[0] | a->s6_addr32[1] |
                 (a->s6_addr32[2] ^ htonl(0x0000ffff))) == 0;
@@ -411,7 +411,7 @@ static inline int ipv6_addr_v4mapped(const struct in6_addr *a)
  * Check for a RFC 4843 ORCHID address
  * (Overlay Routable Cryptographic Hash Identifiers)
  */
-static inline int ipv6_addr_orchid(const struct in6_addr *a)
+static inline bool ipv6_addr_orchid(const struct in6_addr *a)
 {
        return (a->s6_addr32[0] & htonl(0xfffffff0)) == htonl(0x20010010);
 }
index 138d4986c327990d04314d4c900602e4cd8fab31..e22e6d88bac68173ecd6ca06e5bb7161583910ff 100644 (file)
@@ -678,10 +678,10 @@ int inet6_sk_rebuild_header(struct sock *sk)
 }
 EXPORT_SYMBOL_GPL(inet6_sk_rebuild_header);
 
-int ipv6_opt_accepted(struct sock *sk, struct sk_buff *skb)
+bool ipv6_opt_accepted(const struct sock *sk, const struct sk_buff *skb)
 {
-       struct ipv6_pinfo *np = inet6_sk(sk);
-       struct inet6_skb_parm *opt = IP6CB(skb);
+       const struct ipv6_pinfo *np = inet6_sk(sk);
+       const struct inet6_skb_parm *opt = IP6CB(skb);
 
        if (np->rxopt.all) {
                if ((opt->hop && (np->rxopt.bits.hopopts ||
@@ -693,9 +693,9 @@ int ipv6_opt_accepted(struct sock *sk, struct sk_buff *skb)
                     np->rxopt.bits.osrcrt)) ||
                    ((opt->dst1 || opt->dst0) &&
                     (np->rxopt.bits.dstopts || np->rxopt.bits.odstopts)))
-                       return 1;
+                       return true;
        }
-       return 0;
+       return false;
 }
 EXPORT_SYMBOL_GPL(ipv6_opt_accepted);
 
index e65c56009bb007878058af2db6bd2892d063c646..c9015fad8d657b1f403f9ae92dfcd187994eae22 100644 (file)
@@ -818,7 +818,7 @@ static void init_tel_txopt(struct ipv6_tel_txoption *opt, __u8 encap_limit)
  *   0 else
  **/
 
-static inline int
+static inline bool
 ip6_tnl_addr_conflict(const struct ip6_tnl *t, const struct ipv6hdr *hdr)
 {
        return ipv6_addr_equal(&t->parms.raddr, &hdr->saddr);