aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/xfrm.h
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2018-11-07 23:00:37 +0100
committerSteffen Klassert <steffen.klassert@secunet.com>2018-11-09 11:57:59 +0100
commit6be3b0db6db82cf056a72cc18042048edd27f8ee (patch)
tree3154fe6b3db794b88ec1dd69ed1056c327772b19 /include/net/xfrm.h
parentxfrm: policy: consider if_id when hashing inexact policy (diff)
downloadlinux-dev-6be3b0db6db82cf056a72cc18042048edd27f8ee.tar.xz
linux-dev-6be3b0db6db82cf056a72cc18042048edd27f8ee.zip
xfrm: policy: add inexact policy search tree infrastructure
At this time inexact policies are all searched in-order until the first match is found. After removal of the flow cache, this resolution has to be performed for every packetm resulting in major slowdown when number of inexact policies is high. This adds infrastructure to later sort inexact policies into a tree. This only introduces a single class: any:any. Next patch will add a search tree to pre-sort policies that have a fixed daddr/prefixlen, so in this patch the any:any class will still be used for all policies. Signed-off-by: Florian Westphal <fw@strlen.de> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Diffstat (limited to '')
-rw-r--r--include/net/xfrm.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/xfrm.h b/include/net/xfrm.h
index 870fa9b27f7e..9df6dca17155 100644
--- a/include/net/xfrm.h
+++ b/include/net/xfrm.h
@@ -577,6 +577,7 @@ struct xfrm_policy {
/* This lock only affects elements except for entry. */
rwlock_t lock;
refcount_t refcnt;
+ u32 pos;
struct timer_list timer;
atomic_t genid;