diff options
author | Florian Westphal <fw@strlen.de> | 2018-11-07 23:00:37 +0100 |
---|---|---|
committer | Steffen Klassert <steffen.klassert@secunet.com> | 2018-11-09 11:57:59 +0100 |
commit | 6be3b0db6db82cf056a72cc18042048edd27f8ee (patch) | |
tree | 3154fe6b3db794b88ec1dd69ed1056c327772b19 /include/net/xfrm.h | |
parent | b5fe22e2337d47cd68bb7d8e4103a628808c4d5e (diff) | |
download | linux-stable-6be3b0db6db82cf056a72cc18042048edd27f8ee.tar.gz linux-stable-6be3b0db6db82cf056a72cc18042048edd27f8ee.tar.bz2 linux-stable-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 'include/net/xfrm.h')
-rw-r--r-- | include/net/xfrm.h | 1 |
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; |