mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 08:44:41 +00:00 
			
		
		
		
	ipv6: bool conversions phase1
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>
This commit is contained in:
		
							parent
							
								
									cbc264cacd
								
							
						
					
					
						commit
						92113bfde2
					
				
					 3 changed files with 21 additions and 21 deletions
				
			
		|  | @ -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); | ||||
| } | ||||
|  |  | |||
|  | @ -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); | ||||
| 
 | ||||
|  |  | |||
|  | @ -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); | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Eric Dumazet
						Eric Dumazet