netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] xfrm: use xfrm_addr_cmp() instead of compare addresses directly
@ 2009-06-29  4:42 Wei Yongjun
  2009-06-29  7:57 ` Herbert Xu
  2009-06-30  2:43 ` David Miller
  0 siblings, 2 replies; 3+ messages in thread
From: Wei Yongjun @ 2009-06-29  4:42 UTC (permalink / raw)
  To: David Miller, Herbert Xu; +Cc: Netdev

Clean up to use xfrm_addr_cmp() instead of compare addresses directly.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
---
 net/xfrm/xfrm_state.c |   57 +++++++------------------------------------------
 1 files changed, 8 insertions(+), 49 deletions(-)

diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
index 5f1f865..f2f7c63 100644
--- a/net/xfrm/xfrm_state.c
+++ b/net/xfrm/xfrm_state.c
@@ -668,22 +668,10 @@ static struct xfrm_state *__xfrm_state_lookup(struct net *net, xfrm_address_t *d
 	hlist_for_each_entry(x, entry, net->xfrm.state_byspi+h, byspi) {
 		if (x->props.family != family ||
 		    x->id.spi       != spi ||
-		    x->id.proto     != proto)
+		    x->id.proto     != proto ||
+		    xfrm_addr_cmp(&x->id.daddr, daddr, family))
 			continue;
 
-		switch (family) {
-		case AF_INET:
-			if (x->id.daddr.a4 != daddr->a4)
-				continue;
-			break;
-		case AF_INET6:
-			if (!ipv6_addr_equal((struct in6_addr *)daddr,
-					     (struct in6_addr *)
-					     x->id.daddr.a6))
-				continue;
-			break;
-		}
-
 		xfrm_state_hold(x);
 		return x;
 	}
@@ -699,26 +687,11 @@ static struct xfrm_state *__xfrm_state_lookup_byaddr(struct net *net, xfrm_addre
 
 	hlist_for_each_entry(x, entry, net->xfrm.state_bysrc+h, bysrc) {
 		if (x->props.family != family ||
-		    x->id.proto     != proto)
+		    x->id.proto     != proto ||
+		    xfrm_addr_cmp(&x->id.daddr, daddr, family) ||
+		    xfrm_addr_cmp(&x->props.saddr, saddr, family))
 			continue;
 
-		switch (family) {
-		case AF_INET:
-			if (x->id.daddr.a4 != daddr->a4 ||
-			    x->props.saddr.a4 != saddr->a4)
-				continue;
-			break;
-		case AF_INET6:
-			if (!ipv6_addr_equal((struct in6_addr *)daddr,
-					     (struct in6_addr *)
-					     x->id.daddr.a6) ||
-			    !ipv6_addr_equal((struct in6_addr *)saddr,
-					     (struct in6_addr *)
-					     x->props.saddr.a6))
-				continue;
-			break;
-		}
-
 		xfrm_state_hold(x);
 		return x;
 	}
@@ -1001,25 +974,11 @@ static struct xfrm_state *__find_acq_core(struct net *net, unsigned short family
 		    x->props.family != family ||
 		    x->km.state     != XFRM_STATE_ACQ ||
 		    x->id.spi       != 0 ||
-		    x->id.proto	    != proto)
+		    x->id.proto	    != proto ||
+		    xfrm_addr_cmp(&x->id.daddr, daddr, family) ||
+		    xfrm_addr_cmp(&x->props.saddr, saddr, family))
 			continue;
 
-		switch (family) {
-		case AF_INET:
-			if (x->id.daddr.a4    != daddr->a4 ||
-			    x->props.saddr.a4 != saddr->a4)
-				continue;
-			break;
-		case AF_INET6:
-			if (!ipv6_addr_equal((struct in6_addr *)x->id.daddr.a6,
-					     (struct in6_addr *)daddr) ||
-			    !ipv6_addr_equal((struct in6_addr *)
-					     x->props.saddr.a6,
-					     (struct in6_addr *)saddr))
-				continue;
-			break;
-		}
-
 		xfrm_state_hold(x);
 		return x;
 	}
-- 
1.6.2.2





^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] xfrm: use xfrm_addr_cmp() instead of compare addresses directly
  2009-06-29  4:42 [PATCH] xfrm: use xfrm_addr_cmp() instead of compare addresses directly Wei Yongjun
@ 2009-06-29  7:57 ` Herbert Xu
  2009-06-30  2:43 ` David Miller
  1 sibling, 0 replies; 3+ messages in thread
From: Herbert Xu @ 2009-06-29  7:57 UTC (permalink / raw)
  To: Wei Yongjun; +Cc: David Miller, Netdev

On Mon, Jun 29, 2009 at 12:42:53PM +0800, Wei Yongjun wrote:
> Clean up to use xfrm_addr_cmp() instead of compare addresses directly.
> 
> Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>

Looks good to me.  Thanks!

Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] xfrm: use xfrm_addr_cmp() instead of compare addresses directly
  2009-06-29  4:42 [PATCH] xfrm: use xfrm_addr_cmp() instead of compare addresses directly Wei Yongjun
  2009-06-29  7:57 ` Herbert Xu
@ 2009-06-30  2:43 ` David Miller
  1 sibling, 0 replies; 3+ messages in thread
From: David Miller @ 2009-06-30  2:43 UTC (permalink / raw)
  To: yjwei; +Cc: herbert, netdev

From: Wei Yongjun <yjwei@cn.fujitsu.com>
Date: Mon, 29 Jun 2009 12:42:53 +0800

> Clean up to use xfrm_addr_cmp() instead of compare addresses directly.
> 
> Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>

Applied.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-06-30  2:43 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-29  4:42 [PATCH] xfrm: use xfrm_addr_cmp() instead of compare addresses directly Wei Yongjun
2009-06-29  7:57 ` Herbert Xu
2009-06-30  2:43 ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).