]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - net/ipv6/xfrm6_state.c
[XFRM]: Pull xfrm_state_by{spi,src} hash table knowledge out of afinfo.
[mirror_ubuntu-artful-kernel.git] / net / ipv6 / xfrm6_state.c
index 40fcaab7e028858f65ca83e67c917d0b22d5fe14..d88cd92c864e6d9cad400a4288e0beb88bfaa002 100644 (file)
@@ -63,44 +63,6 @@ __xfrm6_init_tempsel(struct xfrm_state *x, struct flowi *fl,
        x->props.family = AF_INET6;
 }
 
-static struct xfrm_state *
-__xfrm6_state_lookup_byaddr(xfrm_address_t *daddr, xfrm_address_t *saddr,
-                           u8 proto)
-{
-       struct xfrm_state *x = NULL;
-       unsigned h;
-
-       h = __xfrm6_src_hash(saddr);
-       list_for_each_entry(x, xfrm6_state_afinfo.state_bysrc+h, bysrc) {
-               if (x->props.family == AF_INET6 &&
-                   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) &&
-                   proto == x->id.proto) {
-                       xfrm_state_hold(x);
-                       return x;
-               }
-       }
-       return NULL;
-}
-
-static struct xfrm_state *
-__xfrm6_state_lookup(xfrm_address_t *daddr, u32 spi, u8 proto)
-{
-       unsigned h = __xfrm6_spi_hash(daddr, spi, proto);
-       struct xfrm_state *x;
-
-       list_for_each_entry(x, xfrm6_state_afinfo.state_byspi+h, byspi) {
-               if (x->props.family == AF_INET6 &&
-                   spi == x->id.spi &&
-                   ipv6_addr_equal((struct in6_addr *)daddr, (struct in6_addr *)x->id.daddr.a6) &&
-                   proto == x->id.proto) {
-                       xfrm_state_hold(x);
-                       return x;
-               }
-       }
-       return NULL;
-}
-
 static int
 __xfrm6_state_sort(struct xfrm_state **dst, struct xfrm_state **src, int n)
 {
@@ -223,8 +185,6 @@ __xfrm6_tmpl_sort(struct xfrm_tmpl **dst, struct xfrm_tmpl **src, int n)
 static struct xfrm_state_afinfo xfrm6_state_afinfo = {
        .family                 = AF_INET6,
        .init_tempsel           = __xfrm6_init_tempsel,
-       .state_lookup           = __xfrm6_state_lookup,
-       .state_lookup_byaddr    = __xfrm6_state_lookup_byaddr,
        .tmpl_sort              = __xfrm6_tmpl_sort,
        .state_sort             = __xfrm6_state_sort,
 };